[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