Describe a user-defined function : Function « Function Procedure Packages « Oracle PL/SQL Tutorial






SQL>
SQL> create table employees(
  2    empno      NUMBER(4)
  3  , ename      VARCHAR2(8)
  4  , init       VARCHAR2(5)
  5  , job        VARCHAR2(8)
  6  , mgr        NUMBER(4)
  7  , bdate      DATE
  8  , msal       NUMBER(6,2)
  9  , comm       NUMBER(6,2)
 10  , deptno     NUMBER(2) ) ;

Table created.

SQL>
SQL>
SQL> insert into employees values(1,'Jason',  'N',  'TRAINER', 2,   date '1965-12-18',  800 , NULL,  10);

1 row created.

SQL> insert into employees values(2,'Jerry',  'J',  'SALESREP',3,   date '1966-11-19',  1600, 300,   10);

1 row created.

SQL> insert into employees values(3,'Jord',   'T' , 'SALESREP',4,   date '1967-10-21',  1700, 500,   20);

1 row created.

SQL> insert into employees values(4,'Mary',   'J',  'MANAGER', 5,   date '1968-09-22',  1800, NULL,  20);

1 row created.

SQL> insert into employees values(5,'Joe',    'P',  'SALESREP',6,   date '1969-08-23',  1900, 1400,  30);

1 row created.

SQL> insert into employees values(6,'Black',  'R',  'MANAGER', 7,   date '1970-07-24',  2000, NULL,  30);

1 row created.

SQL> insert into employees values(7,'Red',    'A',  'MANAGER', 8,   date '1971-06-25',  2100, NULL,  40);

1 row created.

SQL> insert into employees values(8,'White',  'S',  'TRAINER', 9,   date '1972-05-26',  2200, NULL,  40);

1 row created.

SQL> insert into employees values(9,'Yellow', 'C',  'DIRECTOR',10,  date '1973-04-27',  2300, NULL,  20);

1 row created.

SQL> insert into employees values(10,'Pink',  'J',  'SALESREP',null,date '1974-03-28',  2400, 0,     30);

1 row created.

SQL>
SQL>
SQL>
SQL> create or replace function emp_count(p_deptno in number)
  2  return number is
  3         cnt number(2) := 0;
  4  begin
  5         select count(*)  into cnt
  6         from   employees e
  7         where  e.deptno = p_deptno;
  8         return (cnt);
  9  end;
 10  /

Function created.

SQL>
SQL> describe emp_count;
FUNCTION emp_count RETURNS NUMBER
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 P_DEPTNO                       NUMBER                  IN

SQL>
SQL> drop table employees;

Table dropped.








27.1.Function
27.1.1.Functions
27.1.2.Describe a user-defined function
27.1.3.create or replace FUNCTION iifn(boolean_expression in BOOLEAN,true_number IN NUMBER,false_number IN NUMBER)
27.1.4.Storing PL/SQL function in the Database
27.1.5.Create a simple function
27.1.6.Creating a Function to deal with business rules
27.1.7.CREATE OR REPLACE a function
27.1.8.Calling a Function
27.1.9.Calling a Function for a table
27.1.10.Function without parameters
27.1.11.Exit a function
27.1.12.How to Call a Function from PL/SQL With or Without Parameters
27.1.13.Local Subprograms
27.1.14.Dependency Example
27.1.15.The FullName Function
27.1.16.PLW-05005: function NO_RETURN returns without value at line 21
27.1.17.Use function to check passwords