我在SQL CLR程序集中有一个存储过程SP_A
,SP_A
返回一个dyamic的结果集:当没有错误(在C#中捕获和处理)时,它返回字段{{1} },F1
和F2
如果出现错误,则会返回字段F3
,F1
,F2
和F5
。
我想创建一个存储过程F6
,它返回仅包含SP_A_WRAP
和F1
的结果集,这是我做的
F2
在两种情况下执行SP_A_WRAP都失败,错误是
提供的值的名称或列号与 表格定义
执行SP_A在两种情况下都能正常工作。
使用CREATE PROCEDURE SP_A_WRAP ( @Param1 )
AS
BEGIN
DECLARE @RS TABLE (F1 NVARCHAR(MAX), F2 NVARCHAR(MAX), F3 NVARCHAR(MAX), F5 NVARCHAR(MAX), F6 NVARCHAR(MAX))
INSERT INTO @RS (F1,F2) EXEC dbo.SP_A @Param1
SELECT * FROM @RS
END
或OPENROWSET
不是一个选项
修改CLR程序集不是一个选项