[firebase-br] ARRAYS Declare Variable AR_DATAS[100]
Mário Reis
mariodosreyx em gmail.com
Sex Set 12 10:14:02 -03 2008
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
Mais detalhes sobre a lista de discussão lista