【问题标题】:insert into value between xxx and yyy插入 xxx 和 yyy 之间的值
【发布时间】:2013-12-05 01:20:46
【问题描述】:

试图调整这个查询,

向表中插入一系列行,得到错误消息,

"Msg 512, Level 16, State 1, Line 1 子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或当子查询用作表达式。语句已终止。"

查询是正确的还是我还缺少其他东西?

insert into VCCUS (IDCUST,AUDTDATE,AUDTTIME,AUDTUSER,AUDTORG,FININVPDF,WHSINVPDF,WHSDDKPDF,FININVACT,WHSINVACT,WHSDDKACT)
values ((select idcust from ARCUS where IDCUST between '7016' and '7077'),20131204,2073088,'admin','BRIDAT',0,0,0,2,0,0);

【问题讨论】:

    标签: sql sql-server insert range


    【解决方案1】:

    试试这个查询

     insert into VCCUS (IDCUST,AUDTDATE,AUDTTIME,AUDTUSER,AUDTORG,FININVPDF,WHSINVPDF,WHSDDKPDF,FININVACT,WHSINVACT,WHSDDKACT) 
        select t1.idcust, t2.*  from
        (
        select idcust from ARCUS 
        where IDCUST between '7016' and '7077'
        ) t1
         CROSS JOIN
        (
        SELECT 20131204 AUDTDATE ,2073088 AUDTTIME ,'admin' AUDTUSER,
        'BRIDAT' AUDTORG ,0 FININVPDF,0 WHSINVPDF,0 WHSDDKPDF,2 FININVACT,0 WHSINVACT,0 WHSDDKACT) t2
    

    【讨论】:

    • 不完全确定这是做什么的...但是消息 2627,级别 14,状态 1,第 1 行违反主键约束“VCCUS_KEY_0”。无法在对象“dbo.VCCUS”中插入重复键。重复键值为 (7057 )。声明已终止。
    猜你喜欢
    • 2011-08-09
    • 2014-03-30
    • 1970-01-01
    • 2019-06-14
    • 2014-05-25
    • 1970-01-01
    • 2013-01-23
    • 2019-03-08
    • 2012-09-09
    相关资源
    最近更新 更多