PLSQL中執行本地動態SQL

2021-04-15 07:39:09 字數 884 閱讀 4457

在pl/sql中只有dml sql可以直接執行,使用oracle內建的dbms_sql包,可以執行動態sql語句(在執行時生成乙個sql的串,將該串提交給dbms包來執行).

data manlpulation language:dml

包括:select,insert,delete,set transaction,explain plan

data definition language:ddl

包括:drop,create,alter,grant,revoke

demo示例:

declare

v_sqlstr varchar2(500);

v_id number;

v_col varchar2(50);

begin

v_sqlstr := 'create table lab_temp(id number,col varchar2(20))';

execute immediate v_sqlstr;

/*插入

v_sqlstr='insert into lab_temp(:v1, :v2)';

for v_cnt 1..5 loop

execute immediate v_sqlstr using v_cnt, 'row '||v_cnt||' inserted';

end loop

*//*查詢

v_sqlstr='select * from lab_temp where id =:v1';

execute immediate v_sqlstr into v_id,v_col using 1;

dbms_output.put_line('id: '||v_id|| 'content: '||v_col);

*/end;

PL SQL執行動態SQL(二)

pl sql動態sql 依據 dbms sql包 這個包提供了一種使用動態sql來訪問資料庫的方法。示例 1.執行插入刪除等dml語句 declare v cursorid number v insertrecords varchar2 500 v numrows integer begin v c...

PLSQL中動態SQL文運用

兩種情況 一 簡單的動態sql文,其通過字串拼起來的。執行方式 execute immediate vc sql 後面也可以跟上into 將檢索到的值儲存到變數中去。例子 vc sql sub 1 varchar 1024 nm datacount sub number 0 vc sql sub 1...

PL SQL 動態SQL 游標

1.使用動態sql可以在依賴物件不存在時建立子程式 2.動態sql主要利用execute immediate語句執行dml ddl dcl等語句操作 3.如果使用了繫結變數,則必須在execute immediate中使用using字句設定所需要的繫結變數 4.使用returning或return語...