0

これが起こったときに宣言を使用して新しい変数を要求したいのですが、実行すると最初にすべてを尋ねられます:

Set serveroutput on;

DECLARE 
      v_aid ALUNO.AID%TYPE := &vs_aid;
      v_aluno ALUNO%ROWTYPE;
 BEGIN 

     SELECT *
     INTO v_aluno
     FROM ALUNO
     WHERE aid = v_aid;
    DBMS_OUTPUT.PUT_LINE ('-------------------------'); 
     DBMS_OUTPUT.PUT_LINE ('Já existe um ID com os seguintes dados:'); 
     DBMS_OUTPUT.PUT_LINE ('Nome: '||v_aluno.nome||' | Data Nascimento: '|| v_aluno.data_nascimento); 
     DBMS_OUTPUT.PUT_LINE ('-------------------------'); 
      EXCEPTION 
      WHEN NO_DATA_FOUND THEN 
        DECLARE 
        aid int := v_aid;
        nome varchar(30) := '&sv_nome';
        data_nascimento date := '&sv_data';

      INSERT INTO Aluno 
           (     aid 
                , nome 
                , data_nascimento 
                ) 
      VALUES  
           ( aid 
                , nome 
                , data_nascimento 
                ) ;



 END;

私のコードがうまくできていない場合は申し訳ありませんが、問題を解決しようとしているだけの SQL の専門家ではありません。

編集:私はオラクルPL / SQLを使用しています

4

1 に答える 1