當前位置:首頁 » 存儲配置 » oracle11g存儲過程

oracle11g存儲過程

發布時間: 2022-12-06 04:49:22

⑴ oracle11g存儲過程循環游標的區別

游標(Cursor)是處理數據的一種方法,為了查看或者處理結果集中的數據,游標提供了在結果集中一次一行或者多行前進或向後瀏覽數據的能力。
中文名
游標
外文名
Cursor
步驟1
游標定義
步驟2
打開游標
步驟3
提取游標
快速
導航
定義概念種類使用游標
基本信息
把游標當作一個指針,它可以指定結果中的任何位置,然後允許用戶對指定位置的數據進行處理。
定義概念
主語言是面向記錄的,一組主變數一次只能存放一條記錄,僅使用主變數並不能完全滿足sql語句向應用程序輸出數據的要求。即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。
游標實際上是一種能從包括多條數據記錄的結果集中每次提取一條記錄的機制。游標可以被看作是一個查詢結果集(可以是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的游標位置組成的一個臨時文件,提供了在查詢結果集中向前或向後瀏覽數據、處理結果集中數據的能力。有了游標,用戶就可以訪問結果集中任意一行數據,在將游標放置到某行之後,可以在該行或從該位置的行塊上執行操作。
當決定對結果集進行處理時,必須聲明一個指向該結果集的游標。如果曾經用C 語言寫過對文件進行處理的程序,那麼游標就像您打開文件所得到的文件句柄一樣,只要文件打開成功,該文件句柄就可代表該文件。對於游標而言,其道理是相同的。可見游標能夠實現按與傳統程序讀取平面文件類似的方式處理來自基礎表的結果集,從而把表中數據以平面文件的形式呈現給程序。
關系資料庫管理系統實質是面向集合的,在MS SQL SERVER 中並沒有一種描述表中單一記錄的表達形式,除非使用where 子句來限制只有一條記錄被選中。因此我們必須藉助於游標來進行面向單條記錄的數據處理。

⑵ Oracle11g 存儲過程 保密(非加密

在PL/SQLdeveloper中先執行包頭、然後再wrap加密包體

SQL>createorreplacepackagepkg_wrap_testis
2--測試過程,將輸入的數字以字元格式輸出
3proceretest1(iinnumber);
4ENDpkg_wrap_test;
5/

⑶ Oracle11g裡面如果在存儲過程裡面需要查找多次然後一次返回怎麼寫

這是你要的么 String sql = "select id, password, name from user_sd1104 " +
"where id = 1001 and password = '1234'";
Statement stmt = conn.createStatement();
ResultSet rs
= stmt.executeQuery(sql);
while(rs.next()){
int id = rs.getInt(1);
String pwd = rs.getString(2);
String name = rs.getString(3);
System.out.println("welcome," + name);
}
rs.close();
stmt.close();
conn.close();

⑷ oracle 11g 如何查看自己建立過的存儲過程的名稱和對應名稱的代碼

SELECT * FROM dba_source WHERE TYPE='PROCEDURE' AND owner='USER_NAME'
ORDER BY NAME,line; --查看存儲過程名和代碼

SELECT dbms_metadata.get_ddl('PROCEDURE','PRO_NAME','USER_NAME') FROM al; --如果知道存儲過程名和用戶名可以用這個語句

⑸ oracle 11g expdp 可以導出存儲過程嗎

為什麼非要用expdp導出,直接復制就好了。
可以導出存儲過程,我知道imp導入時有一個編譯的參數(COMPILE,默認是Y),那麼exp一定可以導出。
expdp是exp的升級版本,那麼按照用戶導出的,應該也會包含該用戶下的過程。
只導出存儲過程的,似乎不行。

⑹ oracle 11g expdp 可以導出存儲過程嗎

從oracle
12c
備份(expdp)出來的包,還原到11g里,想想都知道會有兼容性問題。
果不其然,報錯了:
ora-39142:
版本號
4.1
(在轉儲文件
「叉叉叉.expdp」
中)

兼容
之類
後來才知道,在12c中備份出來時,應指定版本信息,例如我要導進11g的庫(具體版本為11.1.0.6.0,打開sqlplus就能看到),則version=11.1.0.6.0
語句:
在12c備份
?
1
expdp
system/password@sid12c
directory=dbbak
mpfile=20160321.expdp
logfile=20160321.log
schemas=leftfist
version=11.1.0.6.0
在11g中還原
?
1
impdp
s

⑺ 哪位高人說說 Oracle 11g 編譯存儲過程非常緩慢是怎麼回事

客戶端向伺服器端的網路?感覺也正好是忙的時候你的資料庫編譯。 。 。

⑻ oracle 11g怎麼設定job執行存儲過程,存儲過程有輸入參數

放begin ... end;里,在begin之前定義入參,之後設置入參不就行了

⑼ oracle11g 存儲過程

利用客戶端軟體OBJECT BROWSER或者PLSQL 表示菜單中有一個腳本實行項,打開,把你的視圖和存儲過程的SQL文件選擇好後,點擊實行就好了.

⑽ oracle11g 存儲過程

下了個簡單的調用存儲過程的代碼:
//存儲過程調用的字元串格式{call 存儲過程名(參數1|參數2)} 無慘也可以
String sql="{call getCouserInfo(?,?,?)}";

CallableStatement cs=conn.prepareCall(sql);
//為第一個問號賦值
cs.setInt(1, 1);
//因為第二,三個問號代表的是輸出參數,所以只需要指定返回類型就可以了
cs.registerOutParameter(2, java.sql.Types.VARCHAR);
cs.registerOutParameter(3, java.sql.Types.INTEGER);
cs.execute();
//返回輸出參數中的值
String name=cs.getString(2);
int score=cs.getInt(3);

(2)沒有返回參數,但是有結果集的時候
//存儲過程調用的字元串格式{call 存儲過程名(參數1|參數2)} 無慘也可以
String sql="{call getAllCourse()}";
CallableStatement cs=conn.prepareCall(sql);
ResultSet rs=cs.executeQuery();

熱點內容
配置文件ini如何寫 發布:2024-03-29 17:31:05 瀏覽:997
如何更改微信密碼修改 發布:2024-03-29 17:24:49 瀏覽:588
探影哪個配置性價比最高 發布:2024-03-29 17:24:08 瀏覽:485
phpmyadminlinux安裝 發布:2024-03-29 17:13:15 瀏覽:792
python中replace 發布:2024-03-29 17:08:17 瀏覽:652
mdb導入sql 發布:2024-03-29 17:07:36 瀏覽:128
java資料庫工具類 發布:2024-03-29 16:31:15 瀏覽:388
安卓機哪裡看型號 發布:2024-03-29 15:59:40 瀏覽:281
cad解壓錯誤 發布:2024-03-29 15:01:45 瀏覽:79
存儲指令集 發布:2024-03-29 14:39:27 瀏覽:649