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.

2

3 Answers

Try to execute the procedure like this,

var c refcursor; execute pkg_name.get_user('14232', '15', 'TDWL', 'SA', 1, :c); print c; 
9

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!

2

-- If no parameters need to be passed to a procedure, simply:

BEGIN MY_PACKAGE_NAME.MY_PROCEDURE_NAME END; 
0

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like