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: JOE TESTA <JTESTA_at_longaberger.com>
Date: Mon, 23 Jul 2001 11:26:51 -0700
Message-ID: <F001.00352367.20010723110627@fatcity.com>

to execure procedures:
 

execute proc_name(parms);
 
 

for functions.
 

select function_name(parms) from dual;
 

you can't execute a function just like it says.
 

joe
>>> oqij4ngfcrweuh001_at_sneakemail.com 07/23/01 02:27PM >>>
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 ISCURSOR c_namestbl ISSELECT
lnameFROM namesWHERE lname =
p_name_to_check;v_return_value
BOOLEAN;BEGINOPEN c_namestbl;IF
c_namestbl%NOTFOUND THENv_return_value := FALSE;ELSIF C_namestbl%FOUND
THENv_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                
WillisSalma                
HayekTom                  
CruiseElle                 

McPherson4 rows selected.
But, whenever I try to do this :<FONT
face=Arial size=2>
EXECUTE check_for_name(<FONT color=#0000f0 size=1>'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 undefinedORA-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.
 
 
 
Received on Mon Jul 23 2001 - 13:26:51 CDT

Original text of this message

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