Procedure with four parameters

Monday, July 13th, 2009

 
SQL>
SQL> CREATE OR REPLACE PROCEDURE CallMe(
  2    p_ParameterA VARCHAR2,
  3    p_ParameterB NUMBER,
  4    p_ParameterC BOOLEAN,
  5    p_ParameterD DATE) AS
  6  BEGIN
  7    NULL;
  8  END CallMe;
  9  /

Procedure created.

SQL>
SQL>
SQL> DECLARE
  2    v_Variable1 VARCHAR2(10);
  3    v_Variable2 NUMBER(7,6);
  4    v_Variable3 BOOLEAN;
  5    v_Variable4 DATE;
  6  BEGIN
  7    CallMe(p_ParameterB => v_Variable2,
  8           p_ParameterC => v_Variable3,
  9           p_ParameterD => v_Variable4,
 10           p_ParameterA => v_Variable1);
 11  END;
 12  /

PL/SQL procedure successfully completed.

SQL>

 

Use ’show errors’ command to display error information for your stored procedure

Wednesday, July 1st, 2009

 
SQL>
SQL> set serveroutput on
SQL> CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,
  2                    ENAME VARCHAR2(10),
  3                    JOB VARCHAR2(9),
  4                    MGR NUMBER(4),
  5                    HIREDATE DATE,
  6                    SAL NUMBER(7, 2),
  7                    COMM NUMBER(7, 2),
  8                    DEPTNO NUMBER(2));

Table created.

SQL>
SQL> INSERT INTO EMP VALUES (7369, ‘SMITH‘, ’CLERK‘,    7902, TO_DATE(‘17-DEC-1980‘, ’DD-MON-YYYY‘), 800, NULL, 20);

1 row created.

SQL> INSERT INTO EMP VALUES (7499, ‘ALLEN‘, ’SALESMAN‘, 7698, TO_DATE(‘20-FEB-1981‘, ’DD-MON-YYYY‘), 1600, 300, 30);

1 row created.

SQL> INSERT INTO EMP VALUES (7521, ‘WARD‘,  ’SALESMAN‘, 7698, TO_DATE(‘22-FEB-1981‘, ’DD-MON-YYYY‘), 1250, 500, 30);

1 row created.

SQL> INSERT INTO EMP VALUES (7566, ‘JONES‘, ’MANAGER‘,  7839, TO_DATE(‘2-APR-1981‘,  ’DD-MON-YYYY‘), 2975, NULL, 20);

1 row created.

SQL> INSERT INTO EMP VALUES (7654, ‘MARTIN‘, ’SALESMAN‘, 7698,TO_DATE(‘28-SEP-1981‘, ’DD-MON-YYYY‘), 1250, 1400, 30);

1 row created.

SQL> INSERT INTO EMP VALUES (7698, ‘BLAKE‘, ’MANAGER‘, 7839,TO_DATE(‘1-MAY-1981‘, ’DD-MON-YYYY‘), 2850, NULL, 30);

1 row created.

SQL> INSERT INTO EMP VALUES (7782, ‘CLARK‘, ’MANAGER‘, 7839,TO_DATE(‘9-JUN-1981‘, ’DD-MON-YYYY‘), 2450, NULL, 10);

1 row created.

SQL> INSERT INTO EMP VALUES (7788, ‘SCOTT‘, ’ANALYST‘, 7566,TO_DATE(‘09-DEC-1982‘, ’DD-MON-YYYY‘), 3000, NULL, 20);

1 row created.

SQL> INSERT INTO EMP VALUES (7839, ‘KING‘, ’PRESIDENT‘, NULL,TO_DATE(‘17-NOV-1981‘, ’DD-MON-YYYY‘), 5000, NULL, 10);

1 row created.

SQL> INSERT INTO EMP VALUES (7844, ‘TURNER‘, ’SALESMAN‘, 7698,TO_DATE(‘8-SEP-1981‘, ’DD-MON-YYYY‘), 1500, 0, 30);

1 row created.

SQL> INSERT INTO EMP VALUES (7876, ‘ADAMS‘, ’CLERK‘, 7788,TO_DATE(‘12-JAN-1983‘, ’DD-MON-YYYY‘), 1100, NULL, 20);

1 row created.

SQL> INSERT INTO EMP VALUES (7900, ‘JAMES‘, ’CLERK‘, 7698,TO_DATE(‘3-DEC-1981‘, ’DD-MON-YYYY‘), 950, NULL, 30);

1 row created.

SQL> INSERT INTO EMP VALUES (7902, ‘FORD‘, ’ANALYST‘, 7566,TO_DATE(‘3-DEC-1981‘, ’DD-MON-YYYY‘), 3000, NULL, 20);

1 row created.

SQL> INSERT INTO EMP VALUES (7934, ‘MILLER‘, ’CLERK‘, 7782,TO_DATE(‘23-JAN-1982‘, ’DD-MON-YYYY‘), 1300, NULL, 10);

1 row created.

SQL>
SQL>
SQL> create or replace procedure show_emp( p_empno in number )
  2  is
  3  begin
  4    for c1 in (select *
  5                 from emp
  6                where empno = p_empno) loop
  7      dbms_output.put_line(‘Name: ‘ || c1.ename);
  8      dbms_output.put_line(‘Job: ‘ || c1.job);
  9      dbms_output.put_line(‘Salary: ‘ || c1.sal);
 10      dbms_output.put_line(‘Commission: ‘ || c1.comm);
 11    end loop;
 12  end show_emp;
 13  /

Procedure created.

SQL>
SQL> show errors
No errors.
SQL>
SQL>
SQL> drop table emp;

Table dropped.

SQL>

 

Call a stored procedure in a PL/SQL block

Saturday, June 27th, 2009

 
SQL>
SQL>
SQL>  create or replace procedure my_proc as
  2    begin
  3      dbms_output.put_line ( ‘Hello World‘ );
  4    end my_proc;
  5    /

Procedure created.

SQL>
SQL>
SQL>
SQL>  set serverout on
SQL>
SQL>  begin
  2      my_proc;
  3    end;
  4    /
Hello World

PL/SQL procedure successfully completed.

SQL>