Mega Code Archive

 
Categories / Oracle PLSQL / System Packages
 

Use dbms_sql bind_variable, dbms_sql execute to insert value to a table

SQL> SQL> SQL> create table foo (   2         a   integer,   3         b   dec( 9, 2 ),   4         c   character varying( 30 ),   5         d   national char( 3 )   6      )   7  / SQL> SQL>      declare   2        l_cursor number := dbms_sql.open_cursor;   3        l_ignore number;   4      begin   5        dbms_sql.parse( l_cursor,'insert into foo values ( :n, :c )',dbms_sql.native );   6        dbms_sql.bind_variable( l_cursor, ':N', 1 );   7        dbms_sql.bind_variable( l_cursor, ':C', 'Chris' );   8        l_ignore := dbms_sql.execute( l_cursor );   9        dbms_sql.bind_variable( l_cursor, ':N', 2 );  10        dbms_sql.bind_variable( l_cursor, ':C', 'Sean' );  11        l_ignore := dbms_sql.execute( l_cursor );  12        dbms_sql.close_cursor( l_cursor );  13      end;  14      / PL/SQL procedure successfully completed. SQL>      select * from foo;          N ---------- V ----------------------------------------------------------------------------------------------------          1 Chris          2 Sean 2 rows selected. SQL> SQL> drop table foo; Table dropped. SQL> --