[firebase-br] Ajuda SP
Eduardo Jedliczka
edujed em gmail.com
Qui Abr 14 23:43:42 -03 2005
Michelle,
para uma de suas primeiras SPs esta está bem complicadinha, não acha ???
Então qual é o verdadeiro propósito desta SP ??? Assim podemos sugerir
conceitos mais práticos e simples...
Visto que Execute Statement é algo duro de debugar e um verdadeiro
desperdício de "material bélico"...
[s]
==========================
Eduardo Jedliczka
Apucarana - Pr
==========================
----- Original Message -----
From: "Michelle - House" <michelle em housesoft.com.br>
To: "Lista firebase" <lista em firebase.com.br>
Sent: Thursday, April 14, 2005 7:09 PM
Subject: [firebase-br] Ajuda SP
> Olá,
>
>
> Estou começando a trabalhar agora com SP, e estou com um probleminha,
> construi a procedure abaixo
>
> Criei sem problemas mas qdo tento executá-la me retorna o seguinte erro:
>
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Token unknown - line 1, char 36.
> FROM.
>
> Será que alguém poderia me ajudar a encontrar onde está o erro que cometi.
>
> Desde já agradeço ajuda.
>
> Michelle
>
>
> CREATE PROCEDURE REL_BAL_SEMESTRAL
> (
> DATAINI DATE,
> DATAFIM DATE,
> COMPENSADO INTEGER,
> EMP VARCHAR(2),
> CONTROLE INTEGER,
> NUM_MESES INTEGER
> )
> AS
> DECLARE VARIABLE SWHERE VARCHAR(200);
> DECLARE VARIABLE SQL VARCHAR(200);
> DECLARE VARIABLE CONTADOR INTEGER;
> DECLARE VARIABLE NCOUNT INTEGER;
> DECLARE VARIABLE SCC VARCHAR(50);
> DECLARE VARIABLE SCODCONTA VARCHAR(50);
> DECLARE VARIABLE SCODSUBCONTA VARCHAR(50);
> DECLARE VARIABLE SENTSAI VARCHAR(20);
> BEGIN
> IF (COMPENSADO = 1) THEN
> SWHERE = 'WHERE DATPAG BETWEEN :DATAINI AND :DATAFIM AND COMPENSADO =
> 1
> AND EMP = :EMP';
> ELSE IF (COMPENSADO = 0) THEN
> SWHERE = 'WHERE DATVEN BETWEEN :DATAINI AND :DATAFIM AND COMPENSADO =
> 0
> AND EMP = :EMP';
> /* (COMPENSADO = 2) VER DEPOIS QDO FOR */
> SQL = 'SELECT COUNT(DISTINCT(CODSUBCONTA) FROM LANC_FINAN' || SWHERE;
> EXECUTE STATEMENT :SQL
> INTO :NCOUNT;
> SQL = 'SELECT DISTINCT(CODSUBCONTA), CODCONTA, ENTSAI FROM LANC_FINAN '
> ||
> SWHERE;
> CONTADOR = 1;
> WHILE (CONTADOR <= NCOUNT) DO
> BEGIN
> FOR EXECUTE STATEMENT :SQL
> INTO :SCODSUBCONTA, :SCODCONTA, :SENTSAI
> DO
> BEGIN
> EXECUTE PROCEDURE INS_CC_REL_SEMESTRAL
> (:SCODCONTA , :SCODSUBCONTA , :SENTSAI, :DATAINI,
> :DATAFIM, :COMPENSADO , :EMP , :NUM_MESES, :CONTROLE);
> END
> CONTADOR = CONTADOR + 1;
> END
> END
>
--------------------------------------------------------------------------------
______________________________________________
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
Mais detalhes sobre a lista de discussão lista