Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / PL SQL Statements
 

Create a function to count table row

SQL> SQL> CREATE TABLE product (   2       product_name     VARCHAR2(25) PRIMARY KEY,   3       product_price    NUMBER(4,2),   4       quantity_on_hand NUMBER(5,0),   5       last_stock_date  DATE   6       ); Table created. SQL> SQL> INSERT INTO product VALUES ('Product 1', 99,  1,    '15-JAN-03'); 1 row created. SQL> INSERT INTO product VALUES ('Product 2', 75,  1000, '15-JAN-02'); 1 row created. SQL> INSERT INTO product VALUES ('Product 3', 50,  100,  '15-JAN-03'); 1 row created. SQL> INSERT INTO product VALUES ('Product 4', 25,  10000, null); 1 row created. SQL> INSERT INTO product VALUES ('Product 5', 9.95,1234, '15-JAN-04'); 1 row created. SQL> INSERT INTO product VALUES ('Product 6', 45,  1,    TO_DATE('December 31, 2008, 11:30 P.M.','Month dd, YYYY, HH:MI P.M.')); 1 row created. SQL> SQL> CREATE OR REPLACE FUNCTION tabcount (nm IN VARCHAR2)RETURN PLS_INTEGER   2  IS   3   4     retval PLS_INTEGER;   5   6  BEGIN   7   8     EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || nm INTO retval;   9  10     RETURN retval;  11  END;  12  / Function created. SQL> SQL> select tabcount('product') from dual; TABCOUNT('PRODUCT') -------------------                   6 SQL> SQL> drop table product; Table dropped.