1

以下代码显示错误。

dECLARE @KK VARCHAR(50);
SET @KK = SELECT RIGHT(1000000+(MAX(JWL_ORID) + 1),6) JWL_ORD_MST FROM JWL_ORD_MST
SELECT @KK

错误显示。

Incorrect syntax near the keyword 'SELECT'.

有没有别的办法。。

4

2 回答 2

2

试试这个:

DECLARE @KK VARCHAR(50);
SET @KK = (SELECT RIGHT(1000000+(MAX(JWL_ORID) + 1),6) 
           FROM JWL_ORD_MST);
SELECT @KK;

或者直接使用非标准赋值SELECT语句:

DECLARE @KK VARCHAR(50);
SELECT @KK = RIGHT(1000000+(MAX(JWL_ORID) + 1),6) FROM JWL_ORD_MST;

但是,删除别名。

于 2013-09-03T08:52:40.937 回答
0

试试这个——

DECLARE @KK VARCHAR(50)

-- #1
SET @KK = (SELECT TOP 1 RIGHT(1000000 + (MAX(JWL_ORID) + 1), 6) FROM dbo.JWL_ORD_MST)
SELECT @KK

-- #2
SELECT @KK = RIGHT(1000000 + (MAX(JWL_ORID) + 1), 6) FROM dbo.JWL_ORD_MST
SELECT @KK
于 2013-09-03T08:55:19.663 回答