Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

muffassa

problema ao criar procedure

Recommended Posts

bom, primeiramente Ola a todos.

 

Estou com um problema grave no meu trabalho, precisava alterar uma procedure no firebird , porem estava dando erro. Um sujeito aki do trabalho disse q tinha q excluir uma existente e adicionar a alterada com mesmo nome, fiz isso porem nao adiantoe e agora estamos sem a procedure no banco OMG!!!

 

segue a procedure :

 

 

CREATE OR ALTER procedure SP_INS_DESPESA_BANCARIA (
	V_PAGAMENTO date,
	V_VALOR double precision)
as

declare variable V_SALDOANTERIOR numeric(15,4);
declare variable V_MOVIMENTO_ID integer;
declare variable V_HISTORICO blob sub_type 0 segment size 80;

BEGIN

-- PEGO O VALOR DO SALDO ATUAL, PARA ELE VIRAR SALDO ANTERIOR
SELECT SALDOATUAL
FROM MOVIMENTOS
WHERE MOVIMENTO_ID =
(
	  SELECT MAX(MOVIMENTO_ID) FROM MOVIMENTOS WHERE CONTA_ID = 2
)
INTO V_SALDOANTERIOR;

-- GERO O NOVO ID PARA A TABELA DE MOVIMENTOS
V_MOVIMENTO_ID = GEN_ID(GEN_MOVIMENTO_ID, 1);
-- ADICIONO O VALOR PARA O HISTORICO
v_historico = 'Taxa Doc Bancario - ';

INSERT INTO MOVIMENTOS(
  MOVIMENTO_ID,
  CONTAORC_ID,
  CONTAORC_DEST_ID,
  CONTA_ID,
  CONTA_DEST_ID,
  TIPODOC_ID,
  CENTRORESULT_ID,
  CRESULT_DEST_ID,
  OPERACAO,
  STATUS,
  DATACONCILIACAO,
  DATAEMISSAO,
  DATAEFETIVACAO,
  DATACAD,
  SALDOANTERIOR,
  SALDOATUAL,
  VALOR,
  HISTORICO,
  NUMBANCO,
  NOMEBANCO,
  NUMAGENCIA,
  NOMEEMIDES,
  NUMCONTA,
  NUMCHEQUE,
  CNPJCPFEMIDES,
  DOCUMENTO)
VALUES
(
  :V_MOVIMENTO_ID,
  236,
  null,
  2,
  null,
  17,
  1,
  NULL,
  'C',
  'A',
  NULL,
  'now',
  :V_PAGAMENTO,
  'now',
  :V_SALDOANTERIOR,
  :V_SALDOANTERIOR + :V_VALOR,
  :V_VALOR,
  :v_historico,
  null,
  null,
  null,
  null,
  null,
  null,
  null,
  'Taxa Doc Bancario - '
);
END

 

Por Favor onde esta meu erro? quando rodo ela da o seguinte error:

ISC ERROR CODE:335544436

 

ISC ERROR MESSAGE:

SQL error code = -104

Token unknown - line 9, column 18

 

o erro ocorre tanto usando o IB Expert quanto o IBOConsole.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, primeiramente Ola a todos.

 

Estou com um problema grave no meu trabalho, precisava alterar uma procedure no firebird , porem estava dando erro. Um sujeito aki do trabalho disse q tinha q excluir uma existente e adicionar a alterada com mesmo nome, fiz isso porem nao adiantoe e agora estamos sem a procedure no banco OMG!!!

 

segue a procedure :

 

 

CREATE OR ALTER procedure SP_INS_DESPESA_BANCARIA (
	V_PAGAMENTO date,
	V_VALOR double precision)
as

declare variable V_SALDOANTERIOR numeric(15,4);
declare variable V_MOVIMENTO_ID integer;
declare variable V_HISTORICO blob sub_type 0 segment size 80;

BEGIN

-- PEGO O VALOR DO SALDO ATUAL, PARA ELE VIRAR SALDO ANTERIOR
SELECT SALDOATUAL
FROM MOVIMENTOS
WHERE MOVIMENTO_ID =
(
	  SELECT MAX(MOVIMENTO_ID) FROM MOVIMENTOS WHERE CONTA_ID = 2
)
INTO V_SALDOANTERIOR;

-- GERO O NOVO ID PARA A TABELA DE MOVIMENTOS
V_MOVIMENTO_ID = GEN_ID(GEN_MOVIMENTO_ID, 1);
-- ADICIONO O VALOR PARA O HISTORICO
v_historico = 'Taxa Doc Bancario - ';

INSERT INTO MOVIMENTOS(
  MOVIMENTO_ID,
  CONTAORC_ID,
  CONTAORC_DEST_ID,
  CONTA_ID,
  CONTA_DEST_ID,
  TIPODOC_ID,
  CENTRORESULT_ID,
  CRESULT_DEST_ID,
  OPERACAO,
  STATUS,
  DATACONCILIACAO,
  DATAEMISSAO,
  DATAEFETIVACAO,
  DATACAD,
  SALDOANTERIOR,
  SALDOATUAL,
  VALOR,
  HISTORICO,
  NUMBANCO,
  NOMEBANCO,
  NUMAGENCIA,
  NOMEEMIDES,
  NUMCONTA,
  NUMCHEQUE,
  CNPJCPFEMIDES,
  DOCUMENTO)
VALUES
(
  :V_MOVIMENTO_ID,
  236,
  null,
  2,
  null,
  17,
  1,
  NULL,
  'C',
  'A',
  NULL,
  'now',
  :V_PAGAMENTO,
  'now',
  :V_SALDOANTERIOR,
  :V_SALDOANTERIOR + :V_VALOR,
  :V_VALOR,
  :v_historico,
  null,
  null,
  null,
  null,
  null,
  null,
  null,
  'Taxa Doc Bancario - '
);
END

 

Por Favor onde esta meu erro? quando rodo ela da o seguinte error:

ISC ERROR CODE:335544436

 

ISC ERROR MESSAGE:

SQL error code = -104

Token unknown - line 9, column 18

 

o erro ocorre tanto usando o IB Expert quanto o IBOConsole.

muffassa, seja bem vindo ao Fórum iMasters, conheça nossas regras: Regras do Fórum iMasters

 

Você possui mais de uma query em sua procedure, e pelo erro esta faltando uma virgula em alguma query ou algum campo não existe. Teste as querys de forma separada para descobrir onde esta o erro.

 

E outra coisa não é preciso excluir a procedure, basta trocar o create por alter.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

muffassa, seja bem vindo ao Fórum iMasters, conheça nossas regras: Regras do Fórum iMasters

 

Você possui mais de uma query em sua procedure, e pelo erro esta faltando uma virgula em alguma query ou algum campo não existe. Teste as querys de forma separada para descobrir onde esta o erro.

 

E outra coisa não é preciso excluir a procedure, basta trocar o create por alter.

 

Abraços...

Quintelab, obrigado pelas boas vindas.

 

Bom, acredito q meu problema seja alguma configuração referente a dll's, pois mesmo tentando criar uma SP basica ou apenas tentando alterar uma existente (nem q seja com um comentario na SP) ocorre o mesmo erro. Li em alguns sites que poderia ter a ver com a dll fbclient.dll, no entanto ja referenciei de todas as formas possiveis e nada. Já reinstalei o firebird client 1.5 e reinstalei o IBexpert e nada... Vou continuar buscando uma resposta, se alguem puder dar uma dica q seja ja ajuda, quando a resposta sair posto aqui de qualquer forma. Acredito que seja um erro comum pela quantidade de registros mensionados que encontrei na net.

 

Fico no aguardo de dicas e ajudas.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.