SQL中的动态变量

时间:2016-04-12 08:31:51

标签: sql-server stored-procedures

早上好,伙计们,

我的SQL存储过程存在轻微问题。我将这些变量发布到过程中。 HTML表单:

Post Params:
key: 'DocID_1' value: '18743921-3810-4516-AA6B-566DF1045BDE'
key: 'status_1' value: 'Ignore'
key: 'DocID_2' value: '228C53F6-FE71-4816-8865-B52C02114D54'
key: 'status_2' value: 'Ignore'
key: 'DocID_3' value: 'ABCFCD74-56A3-4B11-B2C4-8D5B827E5648'
key: 'status_3' value: 'Ignore'
key: 'DocID_4' value: 'CD3F7440-BC71-48D0-B358-9EA5366ACCDE'
key: 'status_4' value: 'Ignore'
key: 'rowCount' value: '4'

这基本上是需要批准,忽略的文档列表等。在我的存储过程中,我有一个迭代到rowCount变量值的函数。我想要做的是使用select语句来选择传递给过程的每个DocID_

到目前为止我的select声明:

DECLARE @rowCount int = 4
DECLARE @DocID_1 nvarchar(80) = '18743921-3810-4516-AA6B-566DF1045BDE'

SELECT 
    num,
    @DocID_ + num
FROM 
    dbo.ufn_getcount(1, @rowCount)

正如您所看到的,我正在尝试连接@DocID_num,这是我的函数返回的数字。这会返回一个错误,说实话我预期:

Must declare the scalar variable "@DocID_"

在回顾上述内容后,有没有办法动态创建变量名?

0 个答案:

没有答案