【发布时间】:2017-06-14 06:43:56
【问题描述】:
我正在尝试使用带有以下代码的 BizTalk 将数据插入表中。但我面临错误,因为“程序或函数 Emp_Details 指定了太多参数。”
有人可以帮我解决同样的问题吗?
ALTER PROCEDURE [dbo].[Emp_Details]
(@InsertDetails InsertDetailsType readonly)
AS
Begin
Truncate table [dbo].[Emp_Details]
INSERT INTO [dbo].[Emp_Details]
(
[NAME],
[DESCRIPTION],
[EMPID]
)
select
[NAME],
[DESCRIPTION],
[EMPID]
from @InsertDetails;
Begin
if exists(select 1 from [dbo].[Emp_Details]where NAME='Raul')
Delete from [Emp_Details]where NAME='Raul'
End
end
【问题讨论】:
-
你在哪里声明这个表类型@InsertAircraft
-
已编辑..现在检查代码
-
在第一条语句中,您截断 Emp_Details 表,然后为什么要使用 if 存在条件
-
这是因为...虽然插入文件可能包含一行不需要的行...所以插入所有行...它会被删除
-
您可以发布您用来调用存储过程的 BizTalk 架构吗?我怀疑您不会让 BizTalk 使用自定义数据库类型,您必须将
@NAME、@DESCRIPTION和@EMPID作为单独的参数传递。事实上,这可能就是它正在做的事情,因此你得到了错误。
标签: sql-server biztalk biztalk-2013