将 SQL 打印文本保存到 SSIS 变量中

Save SQL print text into SSIS variable

我想知道是否可以将 PRINT SQL 文本保存到 SSIS 变量中。

我的查询是:

IF EXISTS (SELECT * FROM TABLE WHERE month = '1' or month = '2' or month = '3' or month = '4' 
            or month = '5' or month = '6' or month = '7' or month = '8' or month = '9')
BEGIN
PRINT = 'EXIST' 
END
ELSE
BEGIN
PRINT = 'NOT_EXIST'  
END

我需要存在或 not_exist 来执行流文件或其他文件。我尝试使用 ResultSet(SingleRow) 但我做不到。 最好的方法是什么?

谢谢

您可以像下面这样使用您的查询创建存储:

ALTER PROCEDURE [dbo].[proc_testExistence]  (
@Result  varchar(10) OUTPUT ) AS

BEGIN

IF EXISTS (IF EXISTS (SELECT * FROM TABLE WHERE IN ('1','2','3','4','5','6','7','8','9'))
     SELECT @Result = 'Success';
ELSE
     SELECT @Result = 'Failure';
END

然后在您的 SSIS 包中创建一个名为 vResult 的变量:

然后在您的 SQL 任务中,在 SQL 语句中:

EXEC  proc_testExistence ? OUTPUT

创建此映射:

修改第一个条件的优先约束成功:

而对于第二个条件失败

您的流程与此类似:

您可以像上面那样添加一个 breakpoint 以在调试期间检查变量的值。