Procedure SQL com erro !
Bom dia !
pq sera que esta procedure esta com erro !
esta dando o seguinte erro !
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
SKIP.
At line 18, column 21.
CREATE PROCEDURE LOOP9
RETURNS (
SELECAO INTEGER,
SELECAO1 INTEGER
)
AS
DECLARE VARIABLE CONTADOR INTEGER;
DECLARE VARIABLE ULTIMO INTEGER;
DECLARE VARIABLE SEQUENCIA INTEGER;
BEGIN
CONTADOR = 0;
SEQUENCIA = 1;
FOR SELECT CODAFILIADO FROM TBL_AFILIADOS INTO :SELECAO DO BEGIN
SELECAO1 = ULTIMO;
SUSPEND;
CONTADOR = CONTADOR + 1;
IF ( CONTADOR >= 3 ) THEN BEGIN
SELECT FIRST 1 SKIP SEQUENCIA, CODAFILIADO FROM TBL_AFILIADOS INTO :ULTIMO;
SEQUENCIA = SEQUENCIA + 1;
END
END
END;
pq sera que esta procedure esta com erro !
esta dando o seguinte erro !
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
SKIP.
At line 18, column 21.
CREATE PROCEDURE LOOP9
RETURNS (
SELECAO INTEGER,
SELECAO1 INTEGER
)
AS
DECLARE VARIABLE CONTADOR INTEGER;
DECLARE VARIABLE ULTIMO INTEGER;
DECLARE VARIABLE SEQUENCIA INTEGER;
BEGIN
CONTADOR = 0;
SEQUENCIA = 1;
FOR SELECT CODAFILIADO FROM TBL_AFILIADOS INTO :SELECAO DO BEGIN
SELECAO1 = ULTIMO;
SUSPEND;
CONTADOR = CONTADOR + 1;
IF ( CONTADOR >= 3 ) THEN BEGIN
SELECT FIRST 1 SKIP SEQUENCIA, CODAFILIADO FROM TBL_AFILIADOS INTO :ULTIMO;
SEQUENCIA = SEQUENCIA + 1;
END
END
END;
[b:a3fa80bd40][color=blue:a3fa80bd40]Título do tópico editado por Vinicius2K:[/color:a3fa80bd40][/b:a3fa80bd40]
[b:a3fa80bd40][color=red:a3fa80bd40][list:a3fa80bd40][*:a3fa80bd40]Título em maiúsculas: ´PROCEDURE SQL COM ERRO !´
[*:a3fa80bd40]O tópico não foi bloqueado em respeito aos colegas que postaram respostas.[/list:u:a3fa80bd40][/color:a3fa80bd40][/b:a3fa80bd40]
Peço que leia atentamente as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] e se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, envie-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].
Dangardenal
Curtidas 0
Respostas
Bruno Belchior
31/10/2005
CREATE PROCEDURE LOOP9 RETURNS ( SELECAO INTEGER, SELECAO1 INTEGER ) AS DECLARE VARIABLE CONTADOR INTEGER; DECLARE VARIABLE ULTIMO INTEGER; DECLARE VARIABLE SEQUENCIA INTEGER; BEGIN CONTADOR = 0; SEQUENCIA = 1; FOR SELECT CODAFILIADO FROM TBL_AFILIADOS INTO :SELECAO DO BEGIN SELECAO1 = ULTIMO; SUSPEND; CONTADOR = CONTADOR + 1; IF ( CONTADOR >= 3 ) THEN BEGIN SELECT FIRST 1 SKIP SEQUENCIA CODAFILIADO FROM TBL_AFILIADOS INTO :ULTIMO; SEQUENCIA = SEQUENCIA + 1; END END END;
GOSTEI 0
Firekiller
31/10/2005
Colega Bruno creio que mesmo com sua implementação não irá funcionar. É que a clausula SKIP não aceita parâmetros (e pelo que me parece é o que o colega está tentando utilizar). Acho que poderia funcionar se ele utilizasse Execute Statement para executar esse sql. Algo assim:
CREATE PROCEDURE LOOP9 RETURNS ( SELECAO INTEGER, SELECAO1 INTEGER ) AS DECLARE VARIABLE CONTADOR INTEGER; DECLARE VARIABLE ULTIMO INTEGER; DECLARE VARIABLE SEQUENCIA INTEGER; BEGIN CONTADOR = 0; SEQUENCIA = 1; FOR SELECT CODAFILIADO FROM TBL_AFILIADOS INTO :SELECAO DO BEGIN SELECAO1 = ULTIMO; SUSPEND; CONTADOR = CONTADOR + 1; IF ( CONTADOR >= 3 ) THEN BEGIN EXECUTE STATEMENT ´SELECT FIRST 1 SKIP ´||SEQUENCIA||´ CODAFILIADO FROM TBL_AFILIADOS´ INTO :ULTIMO; SEQUENCIA = SEQUENCIA + 1; END END END;
GOSTEI 0
Dangardenal
31/10/2005
Valeu pela a ajuda ai !
Funfo blz !
Funfo blz !
GOSTEI 0