ORACLE應用經驗(3)-DBMS_SQL封裝過程(轉)

post0發表於2007-08-10
ORACLE應用經驗(3)-DBMS_SQL封裝過程(轉)[@more@]

DBMS_SQL封裝過程中主要函式

1、OPEN_CURSOR:返回新遊標的ID值

2、PARSE:解析要執行的語句

3、BIND_VARIABLE:將給定的數量與特定的變數相連線

4、DEFINE_COLOUMN:定義欄位變數,其值對應於指定遊標中某個位置元素的值

(僅用於SELECT語句)

5、EXECUTE:執行指定的遊標

6、EXECUTE_AND_FETCH:執行指定的遊標並取記錄

7、FETCH_ROWS:從指定的遊標中取出記錄

8、COLUMN_VALUE:返回遊標中指定位置的元素

9、IS_OPEN:當指定的遊標狀態為OPEN時返回真值

10、CLOSE_CURSOR:關閉指定的遊標並釋放記憶體

11、LAST_ERROR_POSITION:返回出錯SQL語句的位元組偏移量

12、LAST_ROW_ID:返回最後一條記錄的ROWID

13、LAST_SQL_FUNCTION_CODE:返回語句的SQL FUNCTION CODE

例:

CREATE OR REPLACE

procedure dml_sql (the_rq varchar2) as

The_c1 Integer;

The_result Integer;--dml_sql_result

M_jls number;

The_xh varchar2(2);

Begin

The_xh:=lpad(ltrim(the_rq),2,'0');

The_C1 :=Dbms_sql.open_cursor;

Dbms_sql.parse(the_C1,'select count(*) from user_indexes

where table_name =''ZDCHB'''||the_xh,dbms_sql.v7);

Dbms_sql.define_column(the_c1,1,M_jls);

The_result:=Dbms_sql.execute(The_c1);

If dbms_sql.fetch_rows(cursor1) > 0 then

Dbms_sql.column_value(cursor1,1,M_jls);

End if;

Dbms_sql.close_cursor(The_C1);

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-942682/,如需轉載,請註明出處,否則將追究法律責任。

相關文章