2009年2月24日 星期二

Oracle 動態SQL語句

SET SERVEROUTPUT ON
DECLARE

 v_sql VARCHAR(200);
 v_cursor NUMBER;
 v_sno NUMBER;
 v_stat NUMBER;
BEGIN
 v_sql := 'SELECT 123 SNO FROM DUAL'; --自訂動態SQL語句
 v_cursor := dbms_sql.open_cursor; --打開游標
 dbms_sql.parse(v_cursor, v_sql, dbms_sql.native); --解析動態SQL語句
 dbms_sql.define_column(v_cursor, 1, v_sno); --定義列
 v_stat := dbms_sql.execute(v_cursor); --執行動態SQL語句
 v_stat := dbms_sql.fetch_rows(v_cursor); --取出一列
 dbms_sql.column_value(v_cursor, 1, v_sno); --查詢定義列結果
 dbms_sql.close_cursor(v_cursor); --關閉游標
 dbms_output.put_line('return value: 'v_sno); --顯示查詢結果
END;


沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。