oracle - PLS-00103 : Encountered the symbol “WHERE” when expecting one of the following

标签 oracle plsql syntax-error

DECLARE
          v_count NUMBER ;
        begin
            SELECT Count(COMPLETION) INTO v_count  FROM AIMS  WHERE  Code=997 AND completion !=2  ;
            IF v_count = 0 THEN
               UPDATE UNITS pu
                    SET
                      code = 'COM',
                      status = 'F',
                      by = '',
                      date =     (
                          SELECT Nvl(Max(la.end_date), To_Date('01/01/1900', 'DD/MM/YYYY'))
                          FROM aims la  WHERE la.code = 997  GROUP BY la.code  
                          ) ;  
                      WHERE ID = 997 ;
            END IF ;

             END;

最佳答案

您的代码中有一个多余的分号。在此处删除半冒号:

                  date =     (
                      SELECT Nvl(Max(la.end_date), To_Date('01/01/1900', 'DD/MM/YYYY'))
                      FROM aims la  WHERE la.code = 997  GROUP BY la.code  
                      ) ; 

关于oracle - PLS-00103 : Encountered the symbol “WHERE” when expecting one of the following,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10231001/

相关文章:

oracle - oracle 中::= 和 := 有什么区别?

oracle - PL/SQL 如何调用函数而不获取返回对象

for-loop - Octave 循环误差

java - Oracle程序转java批处理

oracle - 哪个 Oracle 11g 有 DBCA?

java.sql.SQLDataException : invalid month when getting data from Oracle

c# - 多次打开/关闭一个oracle连接c#

sql选择到

perl - 为什么Perl不警告在相同范围内重新声明my()变量?

python - 我的Python有什么问题?