我有一个存储过程,其中包含需要在执行时声明的服务器参数。我正在尝试建立一种使用查询结果为其中一个参数赋值的方法。
例如
EXEC @return_value = [dbo].[usp_Stored_Proc_demo]
@tableName = N'tbltesting',
@Col1 = N'c1',
@Col2 = N'c2',
@Col3 = N'c3',
@Col4 = (SELECT GETDATE()),
@Col5 = N'c5',
@Col6 = N'c6',
@Col7 = N'v7',
@Col8 = N'c8'
然而,这不起作用,或者我尝试过的任何其他事情。有办法吗?
答案 0 :(得分:0)
对您开放的选项实际上涉及首先执行预查询,将值分配给变量然后在sproc调用中使用:
SELECT @MyVar = Something
FROM dbo.Somewhere
WHERE WhatIAmLookingFor = 'AnAnswer'
EXECUTE dbo.MySproc @MyVar
您无法根据其他查询的结果分配内联参数值。你可以使用我期望的动态SQL做一些事情,但除非你有非常强烈的理由/需要,否则会提出建议。