【问题标题】:How to store the result of a SQL Job that runs a stored procedure into a table如何将运行存储过程的 SQL 作业的结果存储到表中
【发布时间】:2015-09-03 23:31:56
【问题描述】:

基本上这就是我要在这里完成的场景。

我有一个针对表运行的存储过程。存储过程是一个简单的 SQL 查询。查询完成后,它将结果插入到另一个表中。

我创建了一个 SQL Server 作业,它每天(一天一次)执行该存储过程,并且运行良好。

我现在要做的是在 SQL Server 作业完成后在另一个表中插入一些其他数据。第二个表需要包含两列,DayAddedRows

最后一张表将帮助我了解在作业执行存储过程后每天有多少行插入到第一个表中。

这种情况可行吗?能给我指点一下吗?

提前非常感谢!

【问题讨论】:

  • 你能改变现有的存储过程吗?如果没有,第一个表中是否有任何指示符可以让您识别哪些是新行,哪些不是?

标签: sql-server stored-procedures sql-server-2012 sql-server-agent


【解决方案1】:

在您的第一个存储过程中添加另一个插入语句,该语句将行插入到第一个表中。

有点像.....

Declare @Count INT;  

-- Actual Insert statement in the procedure 
INSERT INTO Table1 VALUES (1) , (2) , (3)

-- Capture the number of rows inserted
SELECT @Count = @@ROWCOUNT;

-- Insert into table2 
INSERT INTO Table2([Day] ,AddedRows)
VALUES (GETDATE() , @Count)

【讨论】:

  • 太棒了!我从没想过会这么容易!非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多