创建表
create or replace procedure proc_test
(
table_name in varchar2,
field1 in varchar2,
datatype1 in varchar2,
field2 in varchar2,
datatype2 in varchar2
) as
str_sql varchar2(500);
begin
str_sql:='create table '||table_name||'('||field1||' '||datatype1||','||field2||' '||datatype2||')';
dbms_output.put_line(str_sql);
execute immediate str_sql;
exception
when others then
dbms_output.put_line('ERROR');
end ;
execute proc_test('dinya_test','id','number(8) not null','name','varchar2(100)');
此过程在sys用户下表创建成功,但是我在scott用户下,执行该过程就会抛出ERROR错误,不知为何?有知道的朋友麻烦告诉一声
删除表
Begin
for t in (select table_name from user_tables where table_name like 'XT_%') loop
execute immediate 'drop table ' || t.table_name;
end loop;
end;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16566331/viewspace-665086/ ,如需转载,请注明出处,否则将追究法律责任。