PL/SQL小結
在pl/sql中定義包的過程中,型別定義要寫在包頭裡,賦值語句寫在begin。。end中。
定義陣列型別的方法:
TYPE TYPE_Array_S IS TABLE of NUMBER(14,4);
遊標定義:
CURSOR result_cursor IS
SELECT expression FROM KEVINLLI_24 WHERE pvar1=a_exp(1) AND pvar2=a_exp(2) AND pvar3=a_exp(3) AND pvar4=a_exp(4);
遊標使用前要open cursor_1;使用後close cursor_1;
判斷cursor%found或者cursor%notfound時,要先FETCH result_cursor INTO v_exp_cur;
FOR result_rec IN result_cursor LOOP
print(result_rec.expression);
END LOOP ;
如上for語句中有開啟遊標和關閉遊標的過程,所以在使用for語句前遊標應該是關閉的,不然會出錯誤。
空字串sub='';用length函式得不到長度的返回值,可以將空字串賦值空格,如:sub=' ';這樣可以用length函式取得長度為1;
函式或過程引數如果沒有in,out屬性,預設為in,所以在函式或過程中不可以給那個引數賦值,否則會出錯;要給引數賦值,可以把它的屬性宣告為in out;如:
PROCEDURE Test_24(
a_num IN OUT TYPE_Array_S,
v_n IN OUT NUMBER,
v_expression IN OUT VARCHAR2
)
陣列作為一個函式的引數時,不應該有括號;如:
ELSIF result_cursor%NOTFOUND THEN
Test_24(a_num,v_n,v_expression);--其中a_num是陣列
CLOSE result_cursor;
OPEN result_cursor;
定義陣列型別的方法:
TYPE TYPE_Array_S IS TABLE of NUMBER(14,4);
遊標定義:
CURSOR result_cursor IS
SELECT expression FROM KEVINLLI_24 WHERE pvar1=a_exp(1) AND pvar2=a_exp(2) AND pvar3=a_exp(3) AND pvar4=a_exp(4);
遊標使用前要open cursor_1;使用後close cursor_1;
判斷cursor%found或者cursor%notfound時,要先FETCH result_cursor INTO v_exp_cur;
FOR result_rec IN result_cursor LOOP
print(result_rec.expression);
END LOOP ;
如上for語句中有開啟遊標和關閉遊標的過程,所以在使用for語句前遊標應該是關閉的,不然會出錯誤。
空字串sub='';用length函式得不到長度的返回值,可以將空字串賦值空格,如:sub=' ';這樣可以用length函式取得長度為1;
函式或過程引數如果沒有in,out屬性,預設為in,所以在函式或過程中不可以給那個引數賦值,否則會出錯;要給引數賦值,可以把它的屬性宣告為in out;如:
PROCEDURE Test_24(
a_num IN OUT TYPE_Array_S,
v_n IN OUT NUMBER,
v_expression IN OUT VARCHAR2
)
陣列作為一個函式的引數時,不應該有括號;如:
ELSIF result_cursor%NOTFOUND THEN
Test_24(a_num,v_n,v_expression);--其中a_num是陣列
CLOSE result_cursor;
OPEN result_cursor;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11411056/viewspace-733349/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pl/sql developer的一個小問題SQLDeveloper
- PL/SQL學習筆記-總結SQL筆記
- PLSQL Language Reference-PL/SQL子程式-PL/SQL函式結果快取(二)SQL函式快取
- PL/SQLSQL
- SQL&PL/SQL (轉)SQL
- PL/SQL 宣告SQL
- PL/SQL cursorSQL
- PL/SQL打包SQL
- PL/SQL DEVSQLdev
- Oracle PL/SQLOracleSQL
- PLSQL Language Reference-PL/SQL子程式-PL/SQL函式結果快取-開啟函式結果快取SQL函式快取
- 關於pl/sql中的繫結變數SQL變數
- 使用PL/SQL工具比對錶結構,同步表結構SQL
- 使用PL/Scope分析PL/SQL程式碼SQL
- PLSQL Language Reference-PL/SQL概覽-PL/SQL架構SQL架構
- [PL/SQL]10g PL/SQL學習筆記(一)SQL筆記
- [PL/SQL]10g PL/SQL學習筆記(二)SQL筆記
- [PL/SQL]10g PL/SQL學習筆記(三)SQL筆記
- PL/SQL 迴圈SQL
- PL/SQL 遊標SQL
- PL/SQL 運算子SQL
- PL/SQL 條件SQL
- pl/sql to_dateSQL
- PL/SQL 基礎SQL
- Oracle PL/SQL INDICESOracleSQL
- PL/SQl Developer使用SQLDeveloper
- pl/sql陣列SQL陣列
- pl/sql練習SQL
- oracle PL/SQL示例OracleSQL
- 淺談pl/sqlSQL
- PL/SQL 索引表SQL索引
- pl/sql 練習SQL
- [pl sql] where current ofSQL
- pl/sql功能特性SQL
- PL/SQL Developer 使用SQLDeveloper
- steven's pl/sqlSQL
- PL/SQL入門SQL
- PL/SQL 設定SQL