2012-04-19 8 views
0
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; 

答えて

1

のいずれかを期待するときには、あなたのコード内の余分なセミコロンを持っている「」シンボルが発生しました。ここでセミコロンを削除してください:

    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 
        ) ; 
+0

セイコーコロンを置くときには、 – user1339913

1
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 
         ) ; 

--      ^Extra semicolon 

         WHERE ID = 997 ; 



      END IF ; 

      END;