存储过程删除6天的数据

时间:2011-07-07 06:39:02

标签: sql-server sql-server-2008

这是我的存储过程

ALTER procedure [dbo].[mtk_sp_Deletion]as
begin
   delete from tbl1
   where DateModified< getdate() - 6

   delete tbl2
   where DateModified < getdate() - 6

   delete tbl3
   where DateModified < getdate() - 6
end

现在我只是硬编码值“6”但我希望实现像读取文本文件(文本文件包含此值,例如:6或10或12),并获取值传递给此处删除。

请有人帮助我如何实现这个目标

提前致谢

1 个答案:

答案 0 :(得分:2)

将值作为参数传递:

ALTER procedure [dbo].[mtk_sp_Deletion](
  @nDays int = 6
)
as

begin
   delete from tbl1
   where DateModified< getdate() - @nDays

   delete tbl2
   where DateModified < getdate() - @nDays

   delete tbl3
   where DateModified < getdate() - @nDays

end

如果你想从文本文件中读取该值,请在SO上搜索,你会得到很多答案,例如:How to read in a text file from a stored procedure