Wabbit
Wabbit

Reputation: 149

Oracle PL/SQL: calling stored procedure with parameters

I have created a stored procedure and compiled it successfully without any errors. However, when I call it within an annoynmous block, it returns an error message PLS-00201: identifier 'DUE_FOR_RAISE' must be declared. What seems to be wrong? Is there something wrong with the procedure calling? This is what I used to call the procedure: BEGIN due_for_raise('Austin'); END;

Upvotes: 0

Views: 290

Answers (1)

Ben
Ben

Reputation: 52843

It's because you've quoted your procedure name (never do this). You need to call it with quotes and exactly the same casing as you used to name the procedure, so:

BEGIN 
   "due_for_raise"('Austin'); 
END;

If would be easier to drop your old procedure, and re-create it without a quoted name.

To quote from the documentation on Database Object Names and Qualifiers:

Oracle does not recommend using quoted identifiers for database object names. These quoted identifiers are accepted by SQL*Plus, but they may not be valid when using other tools that manage database objects.

Upvotes: 1

Related Questions