存储过程中如何将表名作为参数?

PEgirl 2002-09-20 03:00:00
如:delete from table1.想用存储过程实现这个功能,将table1作为参数传入存储过程,请问这个存储过程该怎么写?
...全文
175 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckysxn 2002-09-20
  • 打赏
  • 举报
回复
up,up
IronPromises 2002-09-20
  • 打赏
  • 举报
回复
Oracle8.15之前的版本就必须要用dbms_sql包以光标的方式来处理了。
pausing 2002-09-20
  • 打赏
  • 举报
回复
create or replace procedure running(tbname char)
as
tblnm char(50);
strsql char(50);
begin
tblnm:=tbname;
strsql:='delete from '||rtrim(tblnm);
dbms_output.put_line(strsql);
execute immediate strsql;
end;
/
csdnyork 2002-09-20
  • 打赏
  • 举报
回复
也可以用dbms包函数实现,类似上面的方法。
bzszp 2002-09-20
  • 打赏
  • 举报
回复
使用动态sql:

在oracle8.1.5中:
用execute immediate来实现
tsql:='delete from '||tablename;//tablename是参数
execute immediate tsql;

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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