Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Can't code for s.... peanuts

Re: Can't code for s.... peanuts

From: William Beilstein <BeilstWH_at_obg.com>
Date: Mon, 23 Jul 2001 11:11:03 -0700
Message-ID: <F001.0035245D.20010723112423@fatcity.com>

Have you applied the function against the database. For example if you type

select owner,object_name
from all_objects
where object_name = 'CHECK_FOR_NAME';

If nothing is returned, it has not been stored in the database or you don't have rights to view it using your current schema. If you did put it in the database, did it go in with NO errors.

>>> oqij4ngfcrweuh001_at_sneakemail.com 07/23/01 02:26PM >>>
Hi again everybody,

I'll try to be as descriptive as possible, sorry if I leave anything important out.

I have the following function which I'm compiling using PL/SQL Developer (tnx Djordje).
CREATE OR REPLACE FUNCTION check_for_name ( p_name_to_check VARCHAR)

RETURN BOOLEAN IS CURSOR c_namestbl IS
SELECT lname
FROM names
WHERE lname = p_name_to_check;
v_return_value BOOLEAN;

BEGIN
OPEN c_namestbl;
IF c_namestbl%NOTFOUND THEN
v_return_value := FALSE;
ELSIF C_namestbl%FOUND THEN
v_return_value := TRUE;
END IF;
RETURN v_return_value;
CLOSE c_namestbl;
END check_for_name;

It compiles without errors (now).

The table 'names' is built like this :

SVRMGR> DESCRIBE names;

Column Name                    Null?    Type
------------------------------ -------- ----
FNAME                                   VARCHAR2(20)
LNAME                                   VARCHAR2(20)
SVRMGR> With data like this :

SVRMGR> SELECT * FROM names;

FNAME                LNAME
-------------------- --------------------
Bruce                Willis
Salma                Hayek
Tom                  Cruise
Elle                 McPherson

4 rows selected.

But, whenever I try to do this :

EXECUTE check_for_name('Cruise');

so I can run the function from PL/SQL Developer I get the following error :

"ORA 0900 - Invalid SQL Statment"

However, If I execute the same statement from SQL*Plus or svrmgrl I get a differant error :

SVRMGR> EXECUTE check_for_name('Cruise');  check_for_name('Cruise');
 *

ORA-06550: line 2, column 2:
PLS-00221: 'CHECK_FOR_NAME' is not a procedure or is undefined
ORA-06550: line 2, column 2:

PL/SQL: Statement ignored

I'm running Oracle Enterprise Edition 8.1.5.0.0 on Windows 2000.

If that's not enough info, please let me know and I will supply whatever I can.

Thanks for reading this far :)

Michael.

--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: William Beilstein
  INET: BeilstWH_at_obg.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Mon Jul 23 2001 - 13:11:03 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US