[firebase-br] ARRAYS Declare Variable AR_DATAS[100]

Paulo Geloramo paulogeloramo em terra.com.br
Sex Set 12 11:39:00 -03 2008


Uma solução é criar uma tabela no banco e alimentá-la.
Se FB 2.1, pode usar tabela temporária.

--
Paulo

"Mário Reis" <mariodosreyx em gmail.com> escreveu 
na mensagem news:loom.20080912T130135-410 em post.gmane.org...
Boas tardes a todos

Alguém sabe como posso resolver esta questão.
Como faço já que não consigo passar uma Lista nem um Array
por parametro, Tentei passar o meu AR_Datas como VarChar(3000)
mas, depois, na Store Procedure não tenho como declarar o ARRAY
e carrega-lo a partir da String uma coisa +/- assim:

 My_Arr_Datas=(resultaria do codigo que segue:)

 NEW_I=1;
 IF (LISTA_DE_DATAS IS NULL) THEN
  LISTA_DE_DATAS='2001-01-01|2002-01-01|2003-01-01|2004-01-01|2005-01-01';

 NEW_VAR1=SUBSTRING(LISTA_DE_DATAS FROM NEW_I FOR 10);

 WHILE ((NEW_I < 300) AND (NEW_VAR1<>'')) DO
 BEGIN

 IF (SUBSTRING(LISTA_DE_DATAS FROM NEW_I FOR 1)='|') THEN
    NEW_I=NEW_I+1;

 NEW_VAR1=SUBSTRING(LISTA_DE_DATAS FROM NEW_I FOR 10);
 IF ((:NEW_VAR1 IS NOT NULL) AND (:NEW_VAR1!=''))THEN
   OUT_DT_VENC=CAST(:NEW_VAR1 AS DATE);


   NEW_I=NEW_I+10;
  SUSPEND;
 END


Ora bem, o código acima funciona retornando uma Lista de de Datas (array de
Datas) e a seguir precisava de:

Select * From Cobrancas CB
Where CB.DT_Venc

      IN :My_Arr_Datas  /* a Lista Supra */


and CB.DT_PG_Efectivo IS NULL

  Executa Procedure Recebe_Pagamento....etc....

Alguém já passou por isto ou tem alguma outra ideia
de como resolver este handycap do Firebird
Queria fazer isto em batch do lado do Servidor e
não do Cliente(D7)

Obrigado

Mário


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa







Mais detalhes sobre a lista de discussão lista