带有SQL查询参数的SQL 2008存储过程

时间:2016-08-25 11:23:03

标签: sql-server-2008

我有一个存储过程,其中包含需要在执行时声明的服务器参数。我正在尝试建立一种使用查询结果为其中一个参数赋值的方法。

例如

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'

然而,这不起作用,或者我尝试过的任何其他事情。有办法吗?

1 个答案:

答案 0 :(得分:0)

对您开放的选项实际上涉及首先执行预查询,将值分配给变量然后在sproc调用中使用:

SELECT @MyVar = Something
FROM dbo.Somewhere
WHERE WhatIAmLookingFor = 'AnAnswer'

EXECUTE dbo.MySproc @MyVar

您无法根据其他查询的结果分配内联参数值。你可以使用我期望的动态SQL做一些事情,但除非你有非常强烈的理由/需要,否则会提出建议。