PL/SQL 中使用DDL

yunchat發表於2006-03-21

由於PL/SQL中不可以直接嵌入DDL。如果要嵌的話。則可以是用動態SQL 如下:

[@more@]

declare
v_name varchar2(30);
begin
for rec in (select TNAME from tab)
loop
IF rec.tname like 'BB%' THEN
dbms_output.put_line(rec.tname);
v_name := 'drop table ' || rec.tname;
execute immediate v_name;
END IF;
END LOOP;
end;
/

create or replace procedure proc_tmp is
dynamic_sql varchar2(100);
begin
dynamic_sql := 'CREATE TABLE t_tmp(a VARCHAR2(24),b VARCHAR2(24))';
EXECUTE IMMEDIATE dynamic_sql;
end;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/118026/viewspace-807751/,如需轉載,請註明出處,否則將追究法律責任。

相關文章