1.insert into Auth_Base_NewNas(IPADDR,NODE,DOMAIN,FACTORYID) values('%s',%s,'%s',%s) 
2.select node from auth_base_orignasinfo where domain='HZ-YH-LP-1.DOMAIN'怎么把2找到的node的值替换1中values的node的值,然后插到库了。

解决方案 »

  1.   

    insert into Auth_Base_NewNas(IPADDR,NODE,DOMAIN,FACTORYID)
    select '%s',node,'%s',%s
    from auth_base_orignasinfo where domain='HZ-YH-LP-1.DOMAIN'
      

  2.   

    楼上正解,使用 insert....select.....
      

  3.   


    insert into Auth_Base_NewNas(IPADDR,NODE,DOMAIN,FACTORYID)
        select  '%s',node,'%s',%s from auth_base_orignasinfo 
        where domain='HZ-YH-LP-1.DOMAIN'
      

  4.   

    insert into auth_base_orignasinfo(IPADDR,NODE,DOMAIN,FACTORYID)  select '220.191.154.221',node,'HZ-YH-LP-1.DOMAIN',4874 from auth_base_orignasinfo where domain='HZ-YH-LP-1.DOMAIN'我这样插时,提示ID不能为空,
    insert into auth_base_orignasinfo(id,IPADDR,NODE,DOMAIN,FACTORYID)  select 2,'220.191.154.221',node,'HZ-YH-LP-1.DOMAIN',4874 from auth_base_orignasinfo where domain='HZ-YH-LP-1.DOMAIN'我这样插时,提示ORA-001,unique contrast....
    不知道怎么解决
      

  5.   

    你的ID是主键的话(不允许重复),如果表中原来没有数据,可以使用伪列rownum
    insert into auth_base_orignasinfo(id,IPADDR,NODE,DOMAIN,FACTORYID) select rownum,'220.191.154.221',node,'HZ-YH-LP-1.DOMAIN',4874 from auth_base_orignasinfo where domain='HZ-YH-LP-1.DOMAIN'
      

  6.   

    是的,id是主键不能重复,而且表中有数据。
    不知到还有没有其他办法,功能就是在同一表中找到一个数据,用来insert语句插入用。
      

  7.   


    1,把你的主键设置成不是重复的2,把原来的主键数据delete掉,然后再插入3,在原来主键的基础上,直接update好了。
      

  8.   

    用update语句:
    update  auth_base_orignasinfo a set a.node=(select  
    from auth_base_orignasinfo b where a.domain=b.domain)
    where exists(select 1 from  auth_base_orignasinfo c where a.domain=c.domain)
      

  9.   

    --1先删除
    delete from Auth_Base_NewNas a
    where exists(select 1 from  auth_base_orignasinfo b where a.domain=b.domain);--2在插入
    insert into Auth_Base_NewNas(id,IPADDR,NODE,DOMAIN,FACTORYID) 
    select id,IPADDR,NODE,DOMAIN,FACTORYID 
    from auth_base_orignasinfo a
    where not exists(select 1 from  Auth_Base_NewNas b where a.domain=b.domain);
      

  10.   

    用update语句:
    update Auth_Base_NewNas a set a.node=(select   
    from auth_base_orignasinfo b where a.domain=b.domain)
    where exists(select 1 from auth_base_orignasinfo c where a.domain=c.domain)
      

  11.   

    id是主键,而且值取自序列吧。如果要插入新值,而不是更新,就用序列SEQNAME.nextval来填充id吧
      

  12.   

    update 是不行的,我要产生一条新纪录。
    insert into auth_base_orignasinfo(id,IPADDR,NODE,DOMAIN,FACTORYID)  select AUTH_BASE_ORIGNASINFO_SEQ.NEXTVAL(),'220.191.154.221',node,'HZ-YH-LP-1.DOMAIN',4874 from auth_base_orignasinfo where domain='HZ-YH-LP-1.DOMAIN'squeue 字段不允许在这里。