一行:
insert into abc(id,name) values((select a from tblb where rownum<=1),'ok');多行:
insert into emp(empno) select b.ab from b

解决方案 »

  1.   

    chanet(牧师) :
    insert into abc(id,name) values((select a from tblb where rownum<=1),'ok');
    ==============================================================================我试了你这句,好像也不可以哦!
      

  2.   

    Insert into table1(a,b,c,d)Select a1,v2,v3,v4 from t_1 where rownum<2;
      

  3.   

    insert into abc(id,name) values((select a from tblb where rownum<=1),'ok');其中((select a from tblb where rownum<=1)值是单行,是可以的。
      

  4.   

    insert into ods_zw_arrear_sc
      (SVC_ID           ,
       AREA_ID          ,
       BILLING_MONTH    ,
       CUST_ID          ,
       ACCNT_ID         ,
       SUBSCRB_ID       ,
       SPECIAL_BILL_TAG ,
       FEE_ITEM         ,
       PAY_TAG          ,
       TOTAL_FEE        ,
       FAVOUR_FEE       ,
       ARREAR_FEE       
        ) 
    SELECT 
      UBI_BILL_T.SVC_TYPE,
      UBI_BILL_T.HOME_CITY_CODE, 
      UBI_BILL_T.BILL_MONTH,
      to_char(UBI_BILL_T.CUST_ID), 
      to_char(UBI_BILL_T.ACCNT_ID), 
      to_char(UBI_BILL_T.USER_ID),
      UBI_BILL_T.SPECIAL_BILL_TAG, 
      UBI_BILL_T.FEEITEM, 
      UBI_BILL_T.PAY_TAG,
      PRE_PERF_BASEFEE + PRE_PREF_TOLLFEE + PRE_PREF_TOLLADDFEE + PRE_PREF_OTHERFEE,
      PREF_BASEFEE + PREF_TOLLFEE + PERF_TOLLADDFEE + PEEF_OTHERFEE,
      PRE_PERF_BASEFEE + PREF_BASEFEE + PRE_PREF_TOLLFEE + PREF_TOLLFEE + 
         PRE_PREF_TOLLADDFEE + PERF_TOLLADDFEE+ + PRE_PREF_OTHERFEE + PEEF_OTHERFEE 
    FROM
      UBI_BILL_T WHERE UBI_BILL_T.CUST_ID=00001;这样不就可以用子查询来插入了吗?
      

  5.   

    可以,注意不要添加 value ,即:
       insert into table(a1, a2, a3, a4) (select v1, v2, 'a3value', v4 from table2 where v1>3)
       注意,‘a3value’我使用的是常数。
      

  6.   

    Insert into table1(a,b,c,d) Select a1,v2,v3,v4 from t_1 where exists(select 1 from t_1 )