The following URL will take you to the CHAR vs. VARCHAR semantics
section in the PL/SQL developers guide.

As Tim says, use varchar2 if possible.  If not possible, you should
closely study the following 

    http://tinyurl.com/mvfj

Jared


On Wed, 2003-09-10 at 03:29, Fermin Bernaus wrote:
> 
>       Thank you all of you who answered to my first question.
> 
>       No, the problem has nothing to do with permissions. The record existed in the 
> table, but here it is what I discovered. Can anyone explain please? It may be the 
> normal Oracle behavior, but I believe it was not working like this under 7.3.4 (now 
> we have 8.0.3). I can not confirm though.
> 
>       TTDSLS805501 table definition is as follows:
> 
> Name  Null?   Type
> T$ORNO        NOT NULL        NUMBER
> T$USER        NOT NULL        CHAR(10)
> 
>       If I do an INSERT like the following:
> 
> INSERT INTO TTDSLS805501 VALUES (151124 , 'exped9')
> 
>       The value 'exped9' for the field T$USER is 6 characters long, while the 
> definition has got 10. After the insertion, I find that the field for the new record 
> is 10 chars long, the last 4 characters being filled with blanks.
> 
>       But here comes the weird behavior. If I construct the 2 following SELECT on 
> this table from SQLPlus, both work OK and return the expected row:
> 
>               SELECT t$orno FROM TTDSLS805501 WHERE t$user = 'exped9';               
>          -> 1 row returned
>               SELECT t$orno FROM TTDSLS805501 WHERE t$user = 'exped9    ';           
>  -> 1 row returned
> 
>       But within a stored procedure and using a local variable the following will 
> work OK:
> 
>               SELECT t$orno INTO eskaria FROM TTDSLS805501 WHERE t$user = my_var;
> 
>               where my_var is of type VARCHAR2 and has got the value 'exped9    '
> 
>       Whilst the following will come up with the ORA-01403 error:
> 
>               SELECT t$orno INTO eskaria FROM TTDSLS805501 WHERE t$user = my_var;
> 
>               where my_var is of type VARCHAR2 and has got the value 'exped9'
> 
>       Is this normal behavior? why does not the "SELECT t$orno FROM TTDSLS805501 
> WHERE t$user = 'exped9';" statement return 0 rows in the first place? 
> 
> Fermin.
>               
> 
> -----Mensaje original-----
> De: Tim Gorman [mailto:[EMAIL PROTECTED]
> Enviado el: miércoles, 10 de septiembre de 2003 10:44
> Para: Multiple recipients of list ORACLE-L
> Asunto: Re: ORA-01403 error, help!!!
> 
> 
> Unless the stored procedure was created with invoker's rights, then it is
> probably executing using the permissions and schema of the account that owns
> it.  Who is the owner of the stored procedure?  Is it different from who you
> are logged into SQL*Plus as?
> 
> The explanation might be that, through some reason like synonyms pointing in
> different directions from the different accounts, the name TTDSLS805501
> might be resolving to different tables altogether...
> 
> 
> 
> on 9/9/03 10:09 AM, Fermin Bernaus at [EMAIL PROTECTED] wrote:
> 
> > 
> > If logged in SQL Plus the following SQL returns just one row:
> > 
> > SELECT t$orno FROM ttdsls805501 WHERE t$user = 'exped9' GROUP BY t$orno;
> > 
> > If I do use the same SELECT statement inside a stored procedure and have the
> > returning value stored in a local variable:
> > 
> > SELECT t$orno INTO eskaria FROM ttdsls805501 WHERE t$user = 'exped9' GROUP BY
> > t$orno;
> > 
> > where eskaria has been declared as:
> > 
> > eskaria ttdsls805501.t$orno%TYPE;
> > 
> > I get ORA-01403. I have no clue why I am getting this error, can you help
> > please?
> > 
> > Many thanks!
> > 
> > .............................................
> > Fermín Bernaus Berraondo
> > Dpto. de Informática
> > SAMMIC, S.A.
> > [EMAIL PROTECTED]
> > http://www.sammic.com
> > Telf. +34 - 943 157 331
> > Fax +34 - 943 151 276
> > .............................................
> 
> -- 
> Please see the official ORACLE-L FAQ: http://www.orafaq.net
> -- 
> Author: Tim Gorman
>   INET: [EMAIL PROTECTED]
> 
> Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
> San Diego, California        -- Mailing list and web hosting services
> ---------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: [EMAIL PROTECTED] (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).
> -- 
> Please see the official ORACLE-L FAQ: http://www.orafaq.net
> -- 
> Author: Fermin Bernaus
>   INET: [EMAIL PROTECTED]
> 
> Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
> San Diego, California        -- Mailing list and web hosting services
> ---------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: [EMAIL PROTECTED] (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).


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jared Still
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).

Reply via email to