日期:2014-05-17  浏览次数:20792 次

如何在oracle中动态的创建一个表
创建一个存储过程 传两个参数(表名,表属性字段和类型构成的字符串 以逗号分隔)
怎么写这个存储过程可以动态的实现根据传入的参数创建不同的表!求高手帮忙看看!
------解决方案--------------------
关键动态执行
execute immediate
------解决方案--------------------

create or replace procedure pro_creat_tb (
v_tb_name varchar2, --表名 TABLE_TEST
v_col_str varchar2  --字段及属性  ID NUMBER, NAME NVARCHAR2(200)
)
Authid Current_User is
v_str varchar2(2000);
begin
v_str:='create table '
------解决方案--------------------
v_tb_name
------解决方案--------------------
' ('
------解决方案--------------------
v_col_str
------解决方案--------------------
')';
Execute Immediate v_str;
end pro_creat_tb;