create table a as select b.a,b.b from b,c where ...;

解决方案 »

  1.   

    TO bzszp
    很谢谢你 但我想用 INSERT 语句 因为我是在 ASP中调用 所以不能每次执行时建新表
      

  2.   

    INSERT INTO A SELECT B.a,B.b FROM B,C WHERE 条件
    这个可能是由于字段数目不对,这样
    INSERT INTO A(colname1,colname2) SELECT B.a,B.b FROM B,C WHERE 条件
      

  3.   

    to bzszp
    我是用的你那种办法
    INSERT INTO A(colname1,colname2) SELECT B.a,B.b FROM B,C WHERE 条件
    并且字段数目是一样的 我都看了好多遍了 但是插入时还是提示ORA-00917: missing comma
    我都整了好久了 还是找不到那里错误 逗号我也看了好多遍了 也没少啊
      

  4.   

    A表是否有唯一字段,SELECT B.a,B.b FROM B,C WHERE 条件 是否有记录?
      

  5.   

    因为业务的复杂 所以会很长 但愿不会看晕 多谢大侠
    sSQL="INSERT INTO tmpIV002_I (" sSQL=sSQL & "SOURCE, "
    sSQL=sSQL & "CCN, "
    sSQL=sSQL & "MAS_LOC, "
    sSQL=sSQL & "ITEM, "
    sSQL=sSQL & "REVISION, "
    sSQL=sSQL & "ITRN_HIS_DATE, "
    sSQL=sSQL & "ITRN_HIS_TERMINAL, "
    sSQL=sSQL & "ITRN_HIS_TIME, "
    sSQL=sSQL & "ITRN_HIS_SEQ, "
    sSQL=sSQL & "REF, "
    sSQL=sSQL & "REF_LINE, "
    sSQL=sSQL & "CONSUMABLE, "
    sSQL=sSQL & "AGC, "
    sSQL=sSQL & "GL_ACCT, "
    sSQL=sSQL & "LOCATION, "
    sSQL=sSQL & "BIN, "
    sSQL=sSQL & "PUR_CCN, "
    sSQL=sSQL & "RECEIVER, "
    sSQL=sSQL & "REC_LINE, "
    sSQL=sSQL & "VENDOR, "
    sSQL=sSQL & "PUR_LOC, "
    sSQL=sSQL & "BUY_SELL_COST, "
    sSQL=sSQL & "QTY, "
    sSQL=sSQL & "USR_, "
    sSQL=sSQL & "POSTING_DATE, "
    sSQL=sSQL & "TRAN_COST, "
    sSQL=sSQL & "INSP_STAT, "
    sSQL=sSQL & "MRB_DISP, " 
    sSQL=sSQL & "FROM_TO_CCN, "
    sSQL=sSQL & "FROM_TO_MAS_LOC, "
    sSQL=sSQL & "REASON, "
    sSQL=sSQL & "PROCESS_ID, "
    sSQL=sSQL & "Quantity "
    sSQL=sSQL & ") " sSQL=sSQL & "SELECT ITRN_HIS.SOURCE || '-' || ITRN_HIS.SOURCE_QUAL, "
    sSQL=sSQL & "ITRN_HIS.CCN, "
    sSQL=sSQL & "ITRN_HIS.MAS_LOC, "
    sSQL=sSQL & "ITRN_HIS.ITEM AS, "
    sSQL=sSQL & "ITRN_HIS.REVISION, "
    sSQL=sSQL & "ITRN_HIS.ITRN_HIS_DATE, "
    sSQL=sSQL & "ITRN_HIS.ITRN_HIS_TERMINAL, "
    sSQL=sSQL & "to_char(to_date(ITRN_HIS.ITRN_HIS_TIME,'hh24:mi:ss'),'hh24:mi:ss'), "
    sSQL=sSQL & "ITRN_HIS.ITRN_HIS_SEQ, "
    sSQL=sSQL & "LTrim(ITRN_HIS.REF), "
    sSQL=sSQL & "LTrim(ITRN_HIS.REF_LINE), "
    sSQL=sSQL & "ITRN_HIS.CONSUMABLE, "
    sSQL=sSQL & "ITRN_HIS.AGC AS, "
    sSQL=sSQL & "ITRN_HIS.GL_ACCT, "
    sSQL=sSQL & "ITRN_HIS.LOCATION, "
    sSQL=sSQL & "ITRN_HIS.BIN AS, "
    sSQL=sSQL & "ITRN_HIS.PUR_CCN, "
    sSQL=sSQL & "ITRN_HIS.RECEIVER, "
    sSQL=sSQL & "ITRN_HIS.REC_LINE, "
    sSQL=sSQL & "ITRN_HIS.VENDOR, "
    sSQL=sSQL & "ITRN_HIS.PUR_LOC, "
    sSQL=sSQL & "ITRN_HIS.BUY_SELL_COST, "
    sSQL=sSQL & "ITRN_HIS.QTY, "
    sSQL=sSQL & "ITRN_HIS.USR_, "
    sSQL=sSQL & "ITRN_HIS.POSTING_DATE, "
    sSQL=sSQL & "ITRN_HIS.TRAN_COST, "
    sSQL=sSQL & "ITRN_HIS.INSP_STAT, "
    sSQL=sSQL & "ITRN_HIS.MRB_DISP, "
    sSQL=sSQL & "ITRN_HIS.FROM_TO_CCN, "
    sSQL=sSQL & "ITRN_HIS.FROM_TO_MAS_LOC, "
    sSQL=sSQL & "ITRN_HIS.REASON, "
    sSQL=sSQL & "ITRN_HIS.PROCESS_ID, "
    sSQL=sSQL & "(ITRN_HIS.QTY)*(LIST.MULTIPLIER) "
    'sSQL=sSQL & "INTO tmpIV002_I " 
    sSQL=sSQL & "FROM "
    sSQL=sSQL & "ITRN_HIS, "
    sSQL=sSQL & "LIST "
    sSQL=sSQL & "WHERE ITRN_HIS.ITEM='" & Item_code & "' "
      

  6.   

    去掉这一句
    'sSQL=sSQL & "INTO tmpIV002_I "
      

  7.   

    哦 不好意思 是我多拷贝进来的 这一句在ASP中应该是注释起来的
    是不是除了这句外 应该没什么错误了把?
    很谢谢你能看长长的代码.
      

  8.   

    比较难找出错误,试在sql*puls测试,看它错误停留在那里,这样比较方便!我也用这种方法.
      

  9.   

    最后一句后面加上“;”试试
    sSQL=sSQL & "WHERE ITRN_HIS.ITEM='" & Item_code & "' ;"
      

  10.   

    不好意思 里面有几个 AS 也是不小心打上的
    我在 SQL/PLUS中 就是 ORA-00917: missing comma
    这个错误
      

  11.   

    sorry,细心发现代码中出现一个极大的错误,insert等语句不能用记录集操作,以下给你参考:strsql="insert into newsindex (ntname,content,statsno,specno) values('"&v_ntname&"','"&v_content&"','"&v_statsno&"','"&v_specno&"')"
    set cm1 = Server.CreateObject("ADODB.Command")
    cm1.ActiveConnection = MM_conn_STRING
    cm1.CommandText = strsql
    cm1.CommandType = 1
    cm1.CommandTimeout = 0
    cm1.Prepared = true
    cm1.Execute()
    ...........
      

  12.   

    to beckhambobo:
    oracle可以这样insert
    SQL> select * from d;PERSON_ID  SUPERVISOR
    ---------- ----------
    aa         bb
    bb         cc
    cc         dd
    ee         ffSQL> insert into d select * from d where rownum<2;已创建 1 行。SQL> select * from d;PERSON_ID  SUPERVISOR
    ---------- ----------
    aa         bb
    bb         cc
    cc         dd
    ee         ff
    aa         bb
      

  13.   

    是 我也知道可以这样子插入 因为我已经试过这样子操作别的表了
    可就是这个不行 出鬼了 我都整疯了 他还是说ORA-00917: missing comma
      

  14.   

    INSERT INTO A(colname1,colname2) (SELECT B.a,B.b FROM B,C WHERE 条件)在后加一个括号看怎样?sSQL=sSQL & "(ITRN_HIS.QTY)*(LIST.MULTIPLIER) " 给它一个别名