我创建了一个非常简单的存储过程,并验证了需要执行的查询是正确/正在运行的查询。然而,一旦存储在SP中,除了返回'0'之外它不会做任何事情:
USE [test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GenerateVolume]
AS
BEGIN
SET NOCOUNT ON;
UPDATE test.dbo.[c500 CP_Simulation]
set GeneratedVolume = AvgFillRatePerDayPerCP +[dbo].[fn_InvsNorm](RAND(convert(varbinary, newid()))) * StDevFillRatePerDayPerCP
where test.dbo.[c500 CP_Simulation].OrgVPnr = test.dbo.[c500 CP_Simulation].OrgVPnr
END
没有错误......请给我一个提示:)
答案 0 :(得分:2)
使用
时SET NOCOUNT ON
它将禁止“xx行受影响”消息。
如果您的查询工作正常,您的行会更新。 既然你告诉sql server不要计算更新了多少行,你就不会被告知有多少行被更新了。
希望能够解决一些疑问。