PL SQL Statements Oracle PLSQL Tutorial

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.