oracle如何创建一个表名为变量的存储过程

斐来飞去 2009-04-28 09:46:45
初学oracle问大家个问题,如何创建一个表名为变量的存储过程 如:insert into tablename values(.....); tablename为变量
最好给个例子,谢谢
...全文
539 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
superhsj 2009-04-28
  • 打赏
  • 举报
回复
呵呵
斐来飞去 2009-04-28
  • 打赏
  • 举报
回复
落花惊魂,非常感谢你,结贴给分!
superhsj 2009-04-28
  • 打赏
  • 举报
回复
如果mid、mname、age有可能为空的话,用下面的好点
create or replace procedure TEST2(tab in varchar2,mid in varchar2,mname in varchar2,age in number)
as
begin
execute immediate 'insert into '||tab||' values('||''''||mid||''''||','||''''||mname||''''||','||''''||age||''''||')';
end TEST2;
superhsj 2009-04-28
  • 打赏
  • 举报
回复
create or replace procedure TEST2(tab in varchar2,mid in varchar2,mname in varchar2,age in number) 
as
begin
execute immediate 'insert into '||tab||' values('||mid||','||mname||','||age||')';
end TEST2;
斐来飞去 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 superhsj 的回复:]
SQL codecreateorreplaceproceduretest (p_tabinvarchar2)asbeginexecuteimmediate'insert into'||p_tab||'values(......)';end;/
[/Quote]

怎么执行总出错呢
看我写的对不
create or replace procedure TEST2(tab in varchar2,mid in varchar2,mname in varchar2,age in number)
as
begin
execute immediate 'insert into '||tab||' values(mid,mname,age)';
end TEST2;
superhsj 2009-04-28
  • 打赏
  • 举报
回复
create or replace procedure test (p_tab in varchar2)
as
begin
execute immediate 'insert into '||p_tab||' values(......)';
end;
/

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧