存储过程中如何动态的删除表数据

ByWangler 2003-07-31 06:29:03
写一个存储过程,传入参数@tablename:表名
然后删除表@tablename中的数据,sql server和oracle中分别
如何实现。谢谢
...全文
21 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
erigido 2003-07-31
  • 打赏
  • 举报
回复
up
苏陌Bubble 2003-07-31
  • 打赏
  • 举报
回复
存储过程中不能直接删除表,不能Truncate等,
要执行这些,必须用Execute(@SQLString);
pengdali 2003-07-31
  • 打赏
  • 举报
回复
oracle:

create or replace procedure deleteSQL(
TableName in varchar2) as
v_insertSQL varchar2(1000);
begin
v_insertSQL:='delete from ' ||TableName;
execute immediate v_insertSQL;
end;
/
pengdali 2003-07-31
  • 打赏
  • 举报
回复
create proc 名
@表名 varchar(255)
as
exec('delete '+@表名)
txlicenhe 2003-07-31
  • 打赏
  • 举报
回复
sql server:

exec('delete ' + @tablename + ' where 1=1 ')
or
exec ('truncate table '+@tablename)

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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