必须声明一个标量变量

时间:2013-01-12 14:59:26

标签: sql-server error-handling scalar

我正在创建一个列,它会给我一个随机数,但是我遇到了一些错误。

CREATE TABLE tblBookInfo
(
AccessionNumber NVARCHAR(MAX)
 RandomNumber NVARCHAR(10);
 AccNo NVARCHAR(MAX)
 @Upper INT;
 @Lower INT

SET @Lower = 1
SET @Upper = 9999

Select @RandomNumber = Round (((@Upper - @Lower -1)* RAND() + @Lower), 0)

SET @AccNo = 'LIBBOOKS' + RandomNumber
SELECT @AccNo

Set AccessionNumber = AccNo
)

错误:

Incorrect syntax near 'RandomNumber'.
Must declare the scalar variable "@Lower".
Must declare the scalar variable "@Upper".
Must declare the scalar variable "@Upper".
Must declare the scalar variable "@AccNo".
Must declare the scalar variable "@AccNo".

t找到你的帮助:D

1 个答案:

答案 0 :(得分:1)

您要完成的内容并不十分清楚,但这是我在正确的T-SQL语法中对您的代码的解释。 我不准备猜测你在下面想要做什么。

CREATE TABLE tblBookInfo 
(   
    AccessionNumber NVARCHAR(MAX),
    RandomNumber NVARCHAR(10), 
    AccNo NVARCHAR(MAX) 
)
DECLARE @Upper          INT, 
        @Lower          INT,
        @RandomNumber   INT

SET @Lower = 1 SET @Upper = 9999

SELECT @RandomNumber = Round (((@Upper - @Lower -1)* RAND() + @Lower), 0)

SELECT @RandomNumber