我想当这种情况发生时使用声明请求新变量,但是当我运行它时,它会在开始时询问我所有内容:
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 专家,只是试图解决问题。
编辑:我正在使用 oracle PL/SQL