Re: [firebase-br] Tamanho de uma variável em uma SP

Henrique Sinapse suporte em sinapseinformatica.com.br
Qua Abr 20 08:58:32 -03 2005


Obrigado pelo sua explicação Daniel,

Fiz essa pergunta porque eu tenho uma procedure que possui um SQL Dinâmico que funciona assim. 

Tenho uma variável que armazena o código SQL com o tamanho varchar(500). Tive que pôr esse tamanho, porque trata-se uma consulta produtos de uma nota fiscal. Até aí tudo bem, o problema é que o usuário pode escolher uma ou várias notas fiscais. Como por exemplo: 0023,0025,0031,0038. Nesse caso posso eu fiz assim:

VSQL='SELECT A.NUM_NOTA,B.COD_PRODUTO From TB_NOTA_FISCAL A
  Inner Join TB_NOTA_PRODUTO B
  On (B.NUM_NOTA=A.NUM_NOTA)
  Where A.NUM_NOTA IN ('||:pNUM_NOTAS||')';

(Esse código SQL, tem alguns joins que ocultei porque não tinha necessidade, já que a minha dúvida é na cláusula WHERE).

Onde :pNUM_NOTAS é um parâmetro do tipo VARCHAR(300) que pode ter os seguinte valores '0023','0025','0031','0038' que são passados pela aplicação. Neste caso a variável variar muito de tamanho, já que o usuário pode selecionar até 30 notas. 

A única idéia que eu tive foi essa. 

Existe algum problema em um SELECT com a cláusula "IN" muito extensa?

Agradeço desde já pela sua ajuda,

      Carlos Henrique Meireles
      Suporte de Sistemas
      Tel.: 21 - 8115-1584 
     

  ----- Original Message ----- 
  From: Daniel / Tecnobyte 
  To: FireBase 
  Sent: Tuesday, April 19, 2005 7:58 PM
  Subject: Re: [firebase-br] Tamanho de uma variável em uma SP


  Depende do CHARSET usado. Se nenhum CHARSET for especificado (charset=none)
  então um caractere ocupará um byte.

  Existem alguns outros charsets diferentes de NONE que também usam um byte
  por caractere. Mas também existem alguns charsets nos quais um caractere
  pode ocupar 2 ou 3 bytes. Como regra geral o espaço real ocupado por 1
  caractere depende do charset.

  Atenciosamente.

  Daniel P. Guimarães
  Tecnobyte informática
  www.tecnobyte.com.br


  ----- Original Message -----
  From: "Henrique Sinapse" <suporte em sinapseinformatica.com.br>
  To: "FireBase" <lista em firebase.com.br>
  Sent: Tuesday, April 19, 2005 6:32 PM
  Subject: Re: [firebase-br] Tamanho de uma variável em uma SP


  > Cantú,
  >
  > Desculpe a minha ignorância. Um caracter ocupa em torno de quantos bytes?
  >
  >       Carlos Henrique Meireles
  >       Suporte de Sistemas
  >       Tel.: 21 - 8115-1584
  >
  >
  >   ----- Original Message -----
  >   From: Carlos H. Cantu
  >   To: FireBase
  >   Sent: Tuesday, April 19, 2005 6:01 PM
  >   Subject: Re: [firebase-br] Tamanho de uma variável em uma SP
  >
  >
  >   Deve ser algo em torno de 32K.
  >
  >   []s
  >   Cantu
  >   http://www.warmboot.com.br
  >   FireBase - http://www.FireBase.com.br
  >
  >   HS> Senhores,
  >
  >   HS> Alguém sabe me informar qual é o tamanho o máximo de uma
  >   HS> variável do tipo VARCHAR em uma Stored Procedure?
  >
  >   HS>       Carlos Henrique Meireles
  >   HS>       Suporte de Sistemas
  >   HS>       Tel.: 21 - 8115-1584
  >
  >
  >
  >   ______________________________________________
  >   FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
  >   Para editar sua configuração na lista, use o endereço
  http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
  >   Para consultar mensagens antigas:
  http://search.gmane.org/search.php?group=firebase
  > ______________________________________________
  > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
  > Para editar sua configuração na lista, use o endereço
  http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
  > Para consultar mensagens antigas:
  http://search.gmane.org/search.php?groupþbase
  >



  ______________________________________________
  FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
  Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
  Para consultar mensagens antigas: http://search.gmane.org/search.php?group=rebase



Mais detalhes sobre a lista de discussão lista