语句 是这样的update f41171 set pbprodm=a.subc,pbprodf=a.cata,pbccost='A1'
from  FGLC a,f4101 b ,f41171 c  
where  a.code=b.imglpt
and b.imitm=c.pbitm
and c.pbprodm='        ' and a.code not like 'F%';出错 :
sql命令未正常结束。求正确语句,谢谢

解决方案 »

  1.   

    执行请求的操作时遇到错误:
    ORA-00933:SQL命令未正确结束
    00933.00000 - “SQL command not properly ended”
    cause:
    action:
    供应商代码933出错,行5 列:60
      

  2.   


    --你写的语法是sqlserver的,oracle中并没有类似的语法
    MERGE INTO F41171 T1
    USING (SELECT A.SUBC, A.CATA
             FROM FGLC A, F4101 B, F41171 C
            WHERE A.CODE = B.IMGLPT
              AND B.IMITM = C.PBITM
              AND C.PBPRODM = ' '
              AND A.CODE NOT LIKE 'F%') A
    WHEN MATCHED THEN
      UPDATE SET T1.PBPRODM = A.SUBC, T1.PBPRODF = A.CATA, T1.PBCCOST = 'A1'
    ;
      

  3.   

    Update /*+bypass_ujvc*/(
    select c.*,a.subc,a.cata
    from FGLC a,f4101 b ,f41171 c  
    where a.code=b.imglpt
    and b.imitm=c.pbitm
    and c.pbprodm=' ' and a.code not like 'F%'
    ) set pbprodm=subc,pbprodf=cata,pbccost='A1'
      

  4.   


    --sorry 没注意
    MERGE INTO F41171 T1
    USING (SELECT A.SUBC, A.CATA
             FROM FGLC A, F4101 B
            WHERE A.CODE = B.IMGLPT
              AND A.CODE NOT LIKE 'F%') A
    ON (A.IMITM = T1.PBITM)
    WHEN MATCHED THEN
      UPDATE
         SET T1.PBPRODM = A.SUBC, T1.PBPRODF = A.CATA, T1.PBCCOST = 'A1'
       WHERE T1.PBPRODM = ' ';
      

  5.   

    update f41171 set pbprodm=a.subc,pbprodf=a.cata,pbccost='A1'  这行有误!红色部分指定不明确!
      

  6.   

    update f41171 set pbprodm=a.subc,pbprodf=a.cata,pbccost='A1' 这行有误!红色部分指定不明确!
      

  7.   


    提示 "B"."IMITM" 标识符无效
      

  8.   

    ORA -00904:"B"."IMITM":标识符无效
    行6列4原来是A.IMITM, 我改成B.IMITM了
      

  9.   


    MERGE INTO F41171 T1
    USING (SELECT A.SUBC, A.CATA, B.IMITM --这里增加上,思路有了调试一下就ok了。
             FROM FGLC A, F4101 B
            WHERE A.CODE = B.IMGLPT
              AND A.CODE NOT LIKE 'F%') A
    ON (A.IMITM = T1.PBITM)
    WHEN MATCHED THEN
      UPDATE
         SET T1.PBPRODM = A.SUBC, T1.PBPRODF = A.CATA, T1.PBCCOST = 'A1'
       WHERE T1.PBPRODM = ' ';
      

  10.   

    最近在做SQL SERVER转ORACLE 费劲呀~