我正在尝试在 PL/SQL 中对 RAISE 进行例外处理。我做了这个脚本,但是当我想运行它时,它并没有显示两条消息之一,它只是给了我“匿名块已完成”。
Accept cititor prompt 'Introduceti un cititor';
DECLARE data_la_limita EXCEPTION; data_returnare varchar(10);
--cititor varchar(10);
BEGIN
SELECT s.data_dereturnat INTO data_returnare FROM fisa_imprumuturi s left join legitimatii s1
on s1.nrlegitimatie = s.nr_legitimatie left
join cititori s2 on s2.codcititor = s1.codcititor
WHERE s2.numecititor like '%&cititor%'; IF (data_returnare > sysdate ) THEN
RAISE data_la_limita;
END IF;
EXCEPTION
WHEN data_la_limita THEN
DBMS_OUTPUT.PUT_LINE('Cititorul a trecut peste data returnarii!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Cititorul trebuie sa returneze la data: ' || data_returnare); END;
我尝试手动将 sysdate 替换为日期('01-May-2019'),但无法正常工作。