以下的SQL在SQLSERVER中是可以执行的 在ORACLE中报错
INSERT INTO LSDJLC VALUES
('XSTD','7','1','BF','BFGBD','BFGBD_LSBH','BFGBD_SJDH','BFGBD,BFGBGL,XSTD,XSTDMX','BFGBD_LSBH=BFGBGL_LSBH AND BFGBGL_LYLS=XSTD_TDLS AND BFGBGL_LYLX=XSTD_PJLX AND XSTD_TDLS=XSTDMX_TDLS AND XSTDMX_TDFL=BFGBGL_LYFL AND XSTD_TDLS ='@LSBH@'')报错内容:缺失逗号。是在最后  XSTD_TDLS ='@LSBH@'' 这个位置的问题 想请教一下这里怎么写?

解决方案 »

  1.   


    INSERT INTO LSDJLC VALUES
    ('XSTD','7','1','BF','BFGBD',
    'BFGBD_LSBH','BFGBD_SJDH',
    'BFGBD,BFGBGL,XSTD,XSTDMX',
    'BFGBD_LSBH=BFGBGL_LSBH AND 
    BFGBGL_LYLS=XSTD_TDLS AND 
    BFGBGL_LYLX=XSTD_PJLX AND 
    XSTD_TDLS=XSTDMX_TDLS AND 
    XSTDMX_TDFL=BFGBGL_LYFL AND 
    XSTD_TDLS =''@LSBH@''')
    oracle 中使用单引号(')和双引号(")
      

  2.   

    ' 这个可以写成 chr函数拼出来^_^
      

  3.   


    BFGBD_LSBH=BFGBGL_LSBH AND BFGBGL_LYLS=XSTD_TDLS AND 
    BFGBGL_LYLX=XSTD_PJLX AND XSTD_TDLS=XSTDMX_TDLS AND 
    XSTDMX_TDFL=BFGBGL_LYFL AND XSTD_TDLS ='@LSBH@'
    --你最后一个字段原值是这样的吗?
    如果是这样的:
    insert into LSDJLC 
    VALUES(......,
                'BFGBD_LSBH=BFGBGL_LSBH AND BFGBGL_LYLS=XSTD_TDLS AND 
                BFGBGL_LYLX=XSTD_PJLX AND XSTD_TDLS=XSTDMX_TDLS AND 
                XSTDMX_TDFL=BFGBGL_LYFL AND XSTD_TDLS =''@LSBH@''');
    --如果你的原值为:
    BFGBD_LSBH=BFGBGL_LSBH AND BFGBGL_LYLS=XSTD_TDLS AND 
    BFGBGL_LYLX=XSTD_PJLX AND XSTD_TDLS=XSTDMX_TDLS AND 
    XSTDMX_TDFL=BFGBGL_LYFL AND XSTD_TDLS =@LSBH@
    insert into LSDJLC 
    VALUES(......, 
                 'BFGBD_LSBH=BFGBGL_LSBH AND BFGBGL_LYLS=XSTD_TDLS AND 
                 BFGBGL_LYLX=XSTD_PJLX AND XSTD_TDLS=XSTDMX_TDLS AND 
                 XSTDMX_TDFL=BFGBGL_LYFL AND XSTD_TDLS =@LSBH@');