Sql server 2008 从Access执行SQL Server 2008存储过程,并传递表变量
我需要从Access向SQL server传递一个表并执行一个存储过程 我正在Access中使用传递查询来完成此操作 我的直通查询:Sql server 2008 从Access执行SQL Server 2008存储过程,并传递表变量,sql-server-2008,ms-access,stored-procedures,table-variable,pass-through,Sql Server 2008,Ms Access,Stored Procedures,Table Variable,Pass Through,我需要从Access向SQL server传递一个表并执行一个存储过程 我正在Access中使用传递查询来完成此操作 我的直通查询: DECLARE @MyVar TABLE { .....<variables> } INSERT INTO @MyVar SELECT * FROM [MyTable] EXEC sproc_test @Myvar DECLARE@MyVar表{….} 插入@MyVar SELECT* 从[MyTable] 执行存储过程测试@Myva
DECLARE @MyVar TABLE { .....<variables> }
INSERT INTO @MyVar SELECT *
FROM [MyTable]
EXEC sproc_test @Myvar
DECLARE@MyVar表{….}
插入@MyVar SELECT*
从[MyTable]
执行存储过程测试@Myvar
我的存储过程:
ALTER PROCEDURE [dbo].[sproc_test]
@MyVar TABLE(....<variables>)
AS ...<the rest of the sproc>
ALTER过程[dbo]。[sproc\u测试]
@MyVar表(…)
作为。。。
这样行吗?存储过程中出现“表附近语法错误”错误。若要接受表变量作为存储过程的参数,需要定义表类型并将其指定为存储过程中的类型,而不是在存储过程定义中定义为表 e、 你最终会得到这样的结果
ALTER PROCEDURE [dbo].[sproc_test]
@MyVar MyTableType READONLY
AS
...
查看如何定义表格类型等