【问题标题】:ERROR at line 1: ORA-00933: SQL command not properly ended第 1 行出现错误:ORA-00933:SQL 命令未正确结束
【发布时间】:2013-07-15 18:45:57
【问题描述】:

我正在处理一个请求,我想我错过了一个子句,因为我遇到了这个错误 第 1 行的错误: ORA-00933: SQL 命令未正确结束

请求:

echo "update account_balances_t set credit_limit='51200' inner join account_t on account_t.poid_id0=account_balances_t.obj_id0  where access_code1 in (SELECT DISTINCT ACCESS_CODE1,REC_ID FROM  ACCOUNT_T A, ACCOUNT_PRODUCTS_T AP WHERE A.STATUS != 10103  AND A.ACCESS_CODE1 IS NOT NULL AND A.POID_ID0 = AP.OBJ_ID0 AND AP.PRODUCT_OBJ_ID0 = (SELECT POID_ID0 FROM PRODUCT_T WHERE NAME = 'IEW - Europe Daily Plan 1')); "|sqlplus -s `whoami`/`whoami`@$ORACLE_SID

错误:

SELECT DISTINCT ACCESS_CODE1,REC_ID FROM  ACCOUNT_T A, ACCOUNT_PRODUCTS_T AP WHERE A.STATUS != 10103  AND A.ACCESS_CODE1 IS NOT NULL AND A.POID_ID0 = AP.OBJ_ID0 AND AP.PRODUCT_OBJ_ID0 = (SELECT POID_ID0 FROM PRODUCT_T WHERE NAME = 'IEW - Europe Daily Plan 1'))
                                                                                                                                                                                                                                                                   *
ERROR at line 1:
ORA-00933: SQL command not properly ended

【问题讨论】:

    标签: sql oracle ora-00933


    【解决方案1】:

    你基本上有这个:

    UPDATE account_balances_t
    SET credit_limit='51200'
    INNER JOIN account_t ON account_t.poid_id0=account_balances_t.obj_id0
    WHERE access_code1 IN (...);
    

    我在available syntax variations for UPDATE 中找不到类似的东西。

    此外,您正在尝试将列 access_code1 与返回 两个 列的子查询匹配。

    【讨论】:

      【解决方案2】:
      UPDATE PEOPLE a
      SET a.SURNAME = (
          select b.SURNAME
          from PEOPLE b
          where b.NI.NO = a.NI_NUMBER
      ) 
      

      【讨论】:

        【解决方案3】:

        update account__balances_t set credit_limit='51200' inner join account_t on .....

        语法不好 - oracle 在这里不支持“内部连接”。正确的语法是:

        UPDATE table SET colum=expression [,column = expression ... ]
        WHERE condition<br>
        

        在这里阅读:http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10007.htm

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-07
          • 1970-01-01
          • 2012-02-14
          • 1970-01-01
          • 2019-08-22
          • 1970-01-01
          • 2020-02-29
          • 1970-01-01
          相关资源
          最近更新 更多