Нужна помощь. Проблема с SQL Server следующий запрос - PullRequest
0 голосов
/ 16 января 2019

У меня проблема с запросом SQL - nextval в базе данных SQL Server:

Не удалось связать идентификатор из нескольких частей «applicationauth.nextvalue».

Есть идеи, что может быть не так?

Вот запрос:

insert into applicationauth (app, optionname, conditionnum, groupname, applicationauthid) 
    select 'AUTOSCRIPT', 'ATTRVAL', 'ATTRVALUECON', varvalue, applicationauth.nextvalue
    from maxvars 
    where varname = 'ALLUSERGROUP';

insert into applicationauth (app, optionname, conditionnum, groupname, applicationauthid) 
    select 'AUTOSCRIPT', 'HIDEATTR', 'HIDEATTRCON', varvalue, applicationauthseq.nextval

insert into applicationauth (app, optionname, conditionnum, groupname, applicationauthid) 
    select 'AUTOSCRIPT', 'ATTRVAL', 'ATTRVALUECON', varvalue, applicationauthseq.nextval
    from maxvars 
    where varname = 'ALLUSERGROUP';

insert into applicationauth (app, optionname, conditionnum, groupname, applicationauthid) 
    select 'AUTOSCRIPT', 'HIDEATTR','HIDEATTRCON', varvalue, applicationauthseq.nextval
    from maxvars 
    where varname = 'ALLUSERGROUP';

insert into applicationauth (app, optionname, conditionnum, groupname, applicationauthid) 
    select 'AUTOSCRIPT', 'HIDEBUT', 'HIDEBUTCON', varvalue, applicationauthseq.nextval
    from maxvars 
    where varname = 'ALLUSERGROUP';

insert into applicationauth (app, optionname, conditionnum, groupname, applicationauthid) 
    select 'AUTOSCRIPT', 'HIDEIMP', 'HIDEIMPCON', varvalue, applicationauthseq.nextval
    from maxvars 
    where varname = 'ALLUSERGROUP';

(и так далее и тому подобное ...)

Я получаю следующее сообщение об ошибке:

Сообщение 4104, Уровень 16, Состояние 1, Строка 2
Не удалось связать многокомпонентный идентификатор applicationauth.nextvalue.

Сообщение 4104, Уровень 16, Состояние 1, Строка 9
Не удалось связать многокомпонентный идентификатор «applicationauthseq.nextval».

(.... и т. Д. И т. П.)

1 Ответ

0 голосов
/ 16 января 2019

Это то, что вы ищете?

Заменить applicationauthseq.nextval на NEXT VALUE FOR applicationauthseq.

Не знаю, откуда у вас этот первоначальный синтаксис, но NEXT VALUE FOR - это способ вызова SEQUENCE объекта из T-SQL.

...