【发布时间】:2020-01-03 20:32:33
【问题描述】:
我使用的是 MS SQL Server 2017。假设我有两个存储过程 SPA 和 SPB。它们都带有一个参数(例如,它们都是整数参数)。
有什么方法可以调用带有参数值的 SPA,该参数值将传递给 SPB 执行?请参阅下面的示例,它不起作用。但这说明了这个想法。我有一个错误
必须声明标量变量“@param1”
我希望 100 成为我运行时 @paramID1 的值
EXEC SPB @paramID1 = @param1
请指教。谢谢一百万。
CREATE PROCEDURE SPA
@param1 INT
AS
INSERT INTO tbl
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=(local);Trusted_Connection=yes;',
'EXEC SPB @paramID1=@param1') AS a
GO
-- Usage:
EXEC SPA @param1 = 100;
【问题讨论】:
-
为什么需要使用openrowset?为什么是动态 sql?
标签: sql-server