2016-07-27 4 views
0
declare 

     v1 number(5); 


     v3 number(5); 


     v2 varchar2(30); 

     begin 

     select worker.worker_ssn,person.ssn,person.name 

     into v1,v3,v2 

     from person 

     inner join worker 

     on person.ssn=worker.worker_ssn 



     dbms_output,put_line('ssn is ' || v1 ||' ssn worker is ' || v3 ||' worker 

    name is '|| v2); 

     exception 

      when to_Many_Rows then 

    dbms_output,put_line('more than on row'); 


     end 

Es diesen Fehler gibt:Datenbank Oracle 10g Forms Builder gibt Fehler in pl SQL-Befehle

encountered the symbol "join" when expecting one of the following:

+0

Ohne die Formatierung zu erwähnen, ist der Code voller kleinerer Tippfehler: 'dbms_output, put_line',' to_Many_Rows', am Ende der Abfrage Semikolon fehlt, usw. Bitte nehmen Sie sich die Zeit, diejenigen zu beheben vor der Veröffentlichung eine Frage. – sstan

Antwort

0

Versuchen Sie folgendes: - Kodex kann Laufzeitfehler geben, wenn die select-Anweisung mehr als 1 Zeilen zurückgibt .

DECLARE 
    v1 NUMBER (5); 
    v3 NUMBER (5); 
    v2 VARCHAR2 (30); 
BEGIN 
    SELECT worker.worker_ssn, person.ssn, person.name 
    INTO v1, v3, v2 
    FROM person 
    INNER JOIN worker 
    ON person.ssn = worker.worker_ssn;    

    dbms_output.put_line('ssn is ' || v1 ||' ssn worker is ' || v3 ||' worker name is '|| v2); 


    EXCEPTION 

    WHEN too_Many_Rows then 

    dbms_output.put_line('more than on row'); 

end; 
+0

dieser Code gibt immer noch den gleichen Fehler –

+0

Können Sie den ddl-Scipt für Worker und Person für mich zu debuggen – XING