stored procedure 初探
1.基本
set SERVEROUTPUT ON DECLARE l_name member.name%type := '派大星'; l_idn member.idn%type; l_cursor INTEGER; l_retval INTEGER; BEGIN l_cursor := dbms_sql.open_cursor; dbms_sql.parse(l_cursor,'select idn from member where name = :name',1); dbms_sql.define_column(l_cursor, 1,l_idn,10); dbms_sql.bind_variable(l_cursor, ':name',l_name); l_retval := dbms_sql.execute(l_cursor); IF (dbms_sql.fetch_rows(l_cursor) > 0) THEN dbms_sql.column_value(l_cursor,1,l_idn); DBMS_OUTPUT.PUT_LINE(l_idn); END IF; dbms_sql.close_cursor(l_cursor); END;
2.隱含轉換
set SERVEROUTPUT ON DECLARE l_name member.name%type := '派大星'; l_idn member.idn%type; BEGIN select idn into l_idn from member where name = l_name; DBMS_OUTPUT.PUT_LINE(l_idn); END;