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