Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run a stored procedure in oracle sql developer?

I'm trying to run this stored procedure

DECLARE   P_TICKER_SERIAL VARCHAR2(200);   P_SECTOR_CODE   VARCHAR2(200);   P_SOURCE_ID     VARCHAR2(200);   P_COUNTRY_CODE  VARCHAR2(200);   P_FILTER_TYPE   NUMBER;   CUR_OUT         SYS_REFCURSOR;   dbUserTable     DBUSER%ROWTYPE; BEGIN   P_TICKER_SERIAL :='14232';   P_SECTOR_CODE   := '15';   P_SOURCE_ID     := 'TDWL';   P_COUNTRY_CODE  := 'SA';   P_FILTER_TYPE   := 1;    PKG_name.GET_user(     P_TICKER_SERIAL => P_TICKER_SERIAL,     P_SECTOR_CODE   => P_SECTOR_CODE,     P_SOURCE_ID     => P_SOURCE_ID,     P_COUNTRY_CODE  => P_COUNTRY_CODE,     P_FILTER_TYPE   => P_FILTER_TYPE,     CUR_OUT         => CUR_OUT   );   open CUR_OUT;   LOOP     FETCH CUR_OUT INTO dbUserTable;     dbms_output.put_line(dbUserTable.email);   END LOOP;   CLOSE CUR_OUT; END;  / 

But it gives me this error

Error report: ORA-06550: line 8, column 15: PLS-00201: identifier 'DBUSER' must be declared ORA-06550: line 8, column 15: PL/SQL: Item ignored ORA-06550: line 24, column 2: PLS-00382: expression is of wrong type ORA-06550: line 24, column 2: PL/SQL: SQL Statement ignored ORA-06550: line 26, column 24: PLS-00320: the declaration of the type of this expression is incomplete or malformed ORA-06550: line 26, column 5: PL/SQL: SQL Statement ignored ORA-06550: line 27, column 28: PLS-00320: the declaration of the type of this expression is incomplete or malformed ORA-06550: line 27, column 7: PL/SQL: Statement ignored 06550. 00000 -  "line %s, column %s:\n%s" *Cause:    Usually a PL/SQL compilation error. *Action: 

Any one knows what is wrong ? Thanks.

like image 977
Samy Louize Hanna Avatar asked Nov 25 '13 07:11

Samy Louize Hanna


People also ask

How do I execute a stored procedure?

Expand the database that you want, expand Programmability, and then expand Stored Procedures. Right-click the user-defined stored procedure that you want and select Execute Stored Procedure. In the Execute Procedure dialog box, specify a value for each parameter and whether it should pass a null value.

How do you compile a procedure in Oracle SQL Developer?

All you need to do is open your first script, compile. sql in SQL Developer and then click Run script (or press F5 function key).


2 Answers

Try to execute the procedure like this,

var c refcursor; execute pkg_name.get_user('14232', '15', 'TDWL', 'SA', 1, :c); print c; 
like image 185
Dba Avatar answered Sep 20 '22 15:09

Dba


Consider you've created a procedure like below.

CREATE OR REPLACE PROCEDURE GET_FULL_NAME like (   FIRST_NAME IN VARCHAR2,    LAST_NAME IN VARCHAR2,   FULL_NAME OUT VARCHAR2  ) IS  BEGIN   FULL_NAME:= FIRST_NAME || ' ' || LAST_NAME; END GET_FULL_NAME; 

In Oracle SQL Developer, you can run this procedure in two ways.

1. Using SQL Worksheet

Create a SQL Worksheet and write PL/SQL anonymous block like this and hit f5

DECLARE   FULL_NAME Varchar2(50); BEGIN   GET_FULL_NAME('Foo', 'Bar', FULL_NAME);   Dbms_Output.Put_Line('Full name is: ' || FULL_NAME); END; 

2. Using GUI Controls

  • Expand Procedures

  • Right click on the procudure you've created and Click Run

  • In the pop-up window, Fill the parameters and Click OK.

Cheers!

like image 22
Mohan Avatar answered Sep 19 '22 15:09

Mohan