Olá a todos

Dêem uma olhada por favor no código abaixo... Quanto eu comparo o parametro com 
uma constante, o resultado é falso. Se comparo com uma literal (de mesmo valor 
que a constante) o resultado é verdadeiro. Ambos deveriam ser verdadeiros.

Alguém já viu algo parecido? Estava pensando que possa ser algo relacionado com 
o character set, já que diferentes variáveis podem ter diferentes character 
sets no mesmo programa, se não me engano.

A solução é simples, basta usar literais, mas gostaria de saber a causa disto.

Obrigado!
/lc


Oracle Enterprise Edition 9.2.0.6.0

------------------------------------

k_proposal              CONSTANT VARCHAR2(50) := 'PROPOSAL';
...
PROCEDURE set_value
                (
                i_table_name            IN VARCHAR2,
                i_column_name           IN VARCHAR2,
                i_array_element         IN NUMBER,
                i_value                         IN VARCHAR2
                )
IS
BEGIN
        CASE upper(i_table_name)
        WHEN k_proposal                 ===> FALHA
        THEN
        ...

        CASE upper(i_table_name)
        WHEN 'PROPOSAL'                 ===> FUNCIONA
        THEN
        ...




ORACLE_BR APOIA 2ºENPO-BR 
_____________________________________________________________________
O 2º Encontro Nacional de Profissionais Oracle será realizado no dia 05/11/2005 
no auditório da FIAP em São Paulo. Serão apresentadas Palestras e Cases 
dirigidos exclusivamente por profissionais especialistas e renomados no 
mercado. Confira a programação no site do evento! http://www.enpo-br.org/
_____________________________________________________________________
Area de download oracle_br - http://www.4shared.com/dir/101727/a4dcc423  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a