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: Kevin Lange <kgel_at_ppoone.com>
Date: Mon, 23 Jul 2001 13:30:08 -0700
Message-ID: <F001.00352914.20010723133326@fatcity.com>

How
about trying to pass the variable you are using in the Cursor to the Cursor:
<FONT face=Arial color=#0000ff

size=2> 
<FONT

color=#000000>CURSOR c_namestbl (p_name_to_check in varchar2) ISSELECT lnameFROM
namesWHERE lname = p_name_to_check;
<FONT

color=#000000>Then open the cursor with the variable.
<FONT

color=#000000> 
OPEN
c_namestbl(p_name_to_check);
<FONT

color=#000000> 

  <FONT face=Tahoma
  size=2>-----Original Message-----From:   oqij4ngfcrweuh001_at_sneakemail.com
  [mailto:oqij4ngfcrweuh001_at_sneakemail.com]Sent: Monday, July 23,   2001 1:27 PMTo: Multiple recipients of list   ORACLE-LSubject: Can't code for s.... peanuts   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 - 15:30:08 CDT

Original text of this message

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