Mega Code Archive

 
Categories / Oracle PLSQL / Stored Procedure Function
 

Function to count tab

SQL> CREATE OR REPLACE FUNCTION tabcount (tab IN VARCHAR2, whr IN VARCHAR2 := NULL)   2     RETURN PLS_INTEGER AUTHID CURRENT_USER   3  IS   4     str      VARCHAR2 (32767) := 'SELECT COUNT(*) FROM ' || tab;   5     retval   PLS_INTEGER;   6  BEGIN   7     IF whr IS NOT NULL   8     THEN   9        str := str || ' WHERE ' || whr;  10     END IF;  11  12     EXECUTE IMMEDIATE str  13                  INTO retval;  14  EXCEPTION  15     WHEN OTHERS  16     THEN  17        DBMS_OUTPUT.put_line ('TABCOUNT ERROR: ' || DBMS_UTILITY.FORMAT_ERROR_STACK);  18        DBMS_OUTPUT.put_line (str);  19        RETURN NULL;  20  END;  21  / Function created. SQL>