Vérifier un enregistrement N'EST PAS NUL dans Plsql

J'ai une fonction qui permettrait le retour d'un enregistrement de type my_table%ROWTYPEet en l'appelant, j'ai pu vérifier si le retour de l'enregistrement est nul, mais PL/SQL qui se plaint de l'if qui

PLS-00306: mauvais nombre ou les types d'arguments dans l'appel à "n'EST PAS NULL'

Voici mon code:

v_record my_table%ROWTYPE;
v_row_id my_table.row_id%TYPE := 123456;
begin
    v_record := myfunction(v_row_id)
    if (v_record is not null) then
        -- do something
    end if;
end;

function myfunction(p_row_id in my_table.row_id%TYPE) return my_table%ROWTYPE is
    v_record_out my_table%ROWTYPE := null;
begin
    select * into v_record_out from my_table
    where row_id = p_row_id;
    return v_record_out;
end myfunction;

Grâce.

source d'informationauteur Sapience | 2011-08-26