具有可选输出的存储过程
Stored procedure with optional output
我正在更新一个存储过程,该过程使用字符串作为输入来检查是否存在本地文件。它被用作一些 SSIS 包的健全性检查,它给出的唯一输出是它是否找不到文件,在这种情况下它将 return 一个 SQL 错误。
这个过程可以处理通配符,所以我想把这个过程扩展到 return 它找到的文件的名称(如果它得到多个 returns 就会出现一个新的错误),这对于处理可变文件名但使用平面文件连接器的包很有用。向过程添加输出参数意味着您不能使用该过程,除非您声明一个变量来保存输出。
有没有一种方法可以构建程序,使其仅在有人指定他们想要所述输出时才提供输出?
CREATE PROC dbo.MySP @i1 INT
,@i2 INT = NULL OUTPUT
AS
BEGIN
SELECT 1
END
GO
EXEC dbo.MySP 1
GO
DECLARE @i INT
EXEC dbo.MySP 1
,@i OUTPUT
GO
DECLARE @i INT
EXEC dbo.MySP 1
,@i
GO
我正在更新一个存储过程,该过程使用字符串作为输入来检查是否存在本地文件。它被用作一些 SSIS 包的健全性检查,它给出的唯一输出是它是否找不到文件,在这种情况下它将 return 一个 SQL 错误。
这个过程可以处理通配符,所以我想把这个过程扩展到 return 它找到的文件的名称(如果它得到多个 returns 就会出现一个新的错误),这对于处理可变文件名但使用平面文件连接器的包很有用。向过程添加输出参数意味着您不能使用该过程,除非您声明一个变量来保存输出。
有没有一种方法可以构建程序,使其仅在有人指定他们想要所述输出时才提供输出?
CREATE PROC dbo.MySP @i1 INT
,@i2 INT = NULL OUTPUT
AS
BEGIN
SELECT 1
END
GO
EXEC dbo.MySP 1
GO
DECLARE @i INT
EXEC dbo.MySP 1
,@i OUTPUT
GO
DECLARE @i INT
EXEC dbo.MySP 1
,@i
GO