【问题标题】:Need help .Problem with SQL Server nextval query需要帮助。SQL Server nextval 查询的问题
【发布时间】:2019-01-16 14:32:28
【问题描述】:

我对 SQL Server 数据库中的 SQL 查询 - nextval 有疑问:

无法绑定多部分标识符“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”。

(....等等等等)

【问题讨论】:

  • stackoverflow.com/help/mcve... 是否真的需要所有类似的 INSERT 语句来重现问题?
  • 什么是“applicationauth.nextvalue”。你创建了序列吗?
  • 您的表中没有nextval。您是否误以为 T-SQL 中有 NEXTVAL 函数/方法?没有。如果您能解释您实际要完成的工作(表结构、输入、所需输出),那将会有所帮助。您想要的可能可以使用标识列、序列或ROW_NUMBER() 的应用程序来完成,但如上所述,尚不清楚这些将如何使用。

标签: sql-server tsql database-sequence nextval


【解决方案1】:

这就是你要找的吗?

applicationauthseq.nextval 替换为NEXT VALUE FOR applicationauthseq

不确定你从哪里得到的初始语法,但NEXT VALUE FOR 是你从 T-SQL 调用 SEQUENCE 对象的方式。

【讨论】:

    猜你喜欢
    • 2016-07-04
    • 2023-03-20
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多