local function inside PL/SQL script local function inside PL/SQL script oracle oracle

local function inside PL/SQL script


If that's your entire script, you're missing the DECLARE keyword at the start of your anonymous block:

DECLARE    FUNCTION is_valid_date (p_val in VARCHAR2, p_format IN VARCHAR2 )     RETURN numeric IS        l_date VARCHAR2(100);    BEGIN        l_date := TO_date( p_val, p_format );        RETURN 1;    EXCEPTION        WHEN OTHERS THEN            RETURN 0;    END is_valid_date;BEGIN    DBMS_OUTPUT.PUT_LINE(is_valid_date('20120101', 'YYYYMMDD' )); END;/anonymous block completed1

Without that you'll get a series of errors starting with

Error starting at line : 1 in command -FUNCTION is_valid_date (p_val in VARCHAR2, p_format IN VARCHAR2 )Error report -Unknown Command

... which I imagine is the 'generic error' you referred to.