我收到警告“聚合或其他SET操作消除了空值。”我找不到问题的根源。代码如下,我基本上想要做的是在表中插入值,基于33个存储过程的执行(执行的编码是相同的,所以我在下面给出几个例子)。我在调用的SP中查找了错误,但没有找到,因为它们都根据测试文件返回了预期的结果。
对解决方案的任何建议?
CODE:
ALTER PROCEDURE [dbo].[SKL_SaveAdminKontroll_result]
AS
BEGIN
SET NOCOUNT ON;
declare @SQL VarChar(max)
set @SQL = '
DELETE FROM [dbo].[SKL_AdminKontroll_result]
DECLARE @kommuner VARCHAR(300)
DECLARE @landsting VARCHAR(300)
DECLARE @tableName VARCHAR(100)
SET @kommuner=''select id from [StatistikinlamningAdminSKL].[dbo].[Enhet] WHERE [EnhetsTyp] = 1''
SET @landsting=''select id from [StatistikinlamningAdminSKL].[dbo].[Enhet] WHERE [EnhetsTyp] = 2''
SET @tableName=''GR_PS09_1''
INSERT INTO [dbo].[SKL_AdminKontroll_result] ([Värde],[Typ],Enhetsid,Adminkontroll,[Datum för hämtat värde])
EXEC dbo.SKL_admin_KN_aform @tableName, @kommuner
INSERT INTO [dbo].[SKL_AdminKontroll_result] ([Värde],[Typ],Enhetsid,Adminkontroll,[Datum för hämtat värde])
EXEC dbo.SKL_admin_KN_annan_AID @tableName, @kommuner
INSERT INTO [dbo].[SKL_AdminKontroll_result] ([Värde],[Typ],Enhetsid,Adminkontroll,[Datum för hämtat värde])
EXEC dbo.SKL_admin_KN_ansvar @tableName, @kommuner
INSERT INTO [dbo].[SKL_AdminKontroll_result] ([Värde],[Typ],Enhetsid,Adminkontroll,[Datum för hämtat värde])
EXEC dbo.SKL_admin_LT_aform @tableName, @landsting
INSERT INTO [dbo].[SKL_AdminKontroll_result] ([Värde],[Typ],Enhetsid,Adminkontroll,[Datum för hämtat värde])
EXEC dbo.SKL_admin_LT_annan_AID @tableName, @landsting
INSERT INTO [dbo].[SKL_AdminKontroll_result] ([Värde],[Typ],Enhetsid,Adminkontroll,[Datum för hämtat värde])
EXEC dbo.SKL_admin_LT_ansvar @tableName, @landsting
'
EXEC (@SQL)
END
致以最诚挚的问候,
汉纳斯
答案 0 :(得分:1)
这只是一个警告,您的一个存储过程正在执行聚合,并且它让您知道聚合中未捕获NULL
值。
你必须调查你的存储过程以找出聚合发生的位置,但是如果你得到你期望的结果那么就没有问题。
如果您愿意,可以取消警告:
SET ANSI_WARNINGS OFF
GO
抑制警告可能是一种不好的做法。