0
CREATE OR REPLACE FUNCTION func
RETURN varchar2 AS
myvar INT;
BEGIN
select 1 into myvar from dual where 1=2;
IF myvar IS NULL THEN
return 'n';
ELSE
return 'y';
END IF;
END;
SELECT func() FROM DUAL;
はなぜ、この機能ではなく、「n」は文字列のNULL
を返す場合のnull?チェック変数は、条件
('文句を言わないinto'挿入し、ここで任意のデータを取得し、これには例外が発生します)、ノーリターンはリターン – SomeJavaGuy
SomeJavaGuyとして=> 'null'なのでを起こらないかのようにばっちり成功。 PL/SQLのSELECT ... INTO ...文は、まったく1つの行を返す必要があります。それ以外の場合は、例外が発生します。行がない場合は 'NO_DATA_FOUND'、2行以上戻された場合は' TOO_MANY_ROWS'です。 –