将 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 以在调试期间检查变量的值。
我想知道是否可以将 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 以在调试期间检查变量的值。