[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 數據庫 > Oracle > 正文
ORACLE應用經驗(3)-DBMS_SQL封裝過程
本文出自: 作者: (2001-08-13 09:00:01)

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);
   End;
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
ORACLE應用經驗(5)-表空間 (2001-08-13 12:00:00)
ORACLE應用經驗(4)-加密程序 (2001-08-13 10:00:00)
ORACLE應用經驗(3)-DBMS_SQL封裝過程 (2001-08-13 09:00:01)
ORACLE應用經驗(2) (2001-08-13 08:00:00)
ORACLE應用經驗(1) (2001-08-13 07:00:00)
 

★  樊強制作 歡迎分享  ★