Tsql IF语句未正确评估

时间:2018-08-13 21:42:55

标签: tsql stored-procedures ssis-2012

将解析一个xml文件,并在SSIS包中的存储过程中填充7个表。 当我传递一个空的xml文件时,其中一个表(例如Table7)仍在填充中。

为防止这种情况的解决方法,我添加了IF语句。当我在SSMS中运行过程时,我得到的期望结果为@RecCt = 0。所有插件均被绕过。
但是,当我执行SSIS程序包时,只会填充“ Table7”(此表具有摘要值)。

Create procedure SP_test
As
Begin
    Declare @RecCt int
    select @RecCt=(select count(*) from dbo.Order)
    If @RecCt >0
    Begin
        Insert into Table1 …      
        Insert into Table2 …
        Insert into Table3 …
        Insert into Table4 …      
        Insert into Table5 …
        Insert into Table6 …      
        Insert into Table7 …    
    End
    Else
    Begin
        Select ‘Empty File’
    End
End

为什么尽管被评估为假,还是会发生这种情况?非常感谢SD

0 个答案:

没有答案