使用 `sp_executesql` 並宣告參數定義與輸出:
DECLARE @tssj NVARCHAR(100), @Sql_Sql NVARCHAR(100);
SET @Sql_Sql = N'SELECT @tssj = jpk FROM b WHERE bzmc = ''中國''';
EXEC sp_executesql @Sql_Sql, N'@tssj NVARCHAR(100) OUTPUT', @tssj OUTPUT;
SELECT @tssj;
關鍵在 `N'@tssj NVARCHAR(100) OUTPUT', @tssj OUTPUT` 同時宣告參數型別與輸出方向。
SET @Sql_Sql = N'
SELECT TOP 1 @m_zw = zw, @m_zh = temp FROM ket WHERE zd = ''ddd'';
PRINT @Sql_Sql;
';
EXEC sp_executesql @Sql_Sql,
N'@m_zw VARCHAR(1000) OUTPUT, @m_zh INT OUTPUT',
@m_zw OUTPUT, @m_zh OUTPUT;
多參數以逗號分隔,順序對應。