RES: [firebase-br] Stored Procedure com Erro

Pablo Madi Dias pablo.dias em telemar.com.br
Seg Mar 28 17:45:11 -03 2005



	Pessoal, já consegui resolver o problema!!!!
	Acontece que estou começando a utilizar SP no firebird agora, então estava cometendo vários erros...

	Vejam o código final:

PROCEDURE SP_NOVA_SENHA RETURNS (NOVA_SENHA INTEGER)
AS
DECLARE VARIABLE QUANTIDADE_SENHAS INTEGER;
DECLARE VARIABLE ID_SENHA_ATUAL INTEGER;
begin
  select count(*) from tbl_senhas where tbl_senhas.data_emissao = current_date into quantidade_senhas;
  select gen_id(gen_senha, 0) from RDB$DATABASE INTO id_senha_atual;
  if (( quantidade_senhas = 0) or ( id_senha_atual = 9999 )) then
    execute statement 'set generator gen_senha to 0';
  select gen_id(gen_senha, 1) from RDB$DATABASE into :NOVA_SENHA;
  suspend;
end

	Obrigado a todos!!

-----Mensagem original-----
De: Pablo Madi Dias [mailto:pablo.dias em telemar.com.br]
Enviada em: segunda-feira, 28 de março de 2005 16:56
Para: FireBase
Assunto: [firebase-br] Stored Procedure com Erro




	Pessoal,

	Estou criando uma stored Procedure, mas estou tendo uma mensagem de
erro, ao tentar compilar a mesma:

create procedure SP_NOVA_SENHA returns (NOVA_SENHA INTEGER)
as
begin
  if (((select count(*) from tbl_senhas where data_emissao = current_date) =
0) or ( (select gen_id(gen_senha, 0) from RDB$DATABASE) = 9999 )) then
    set generator gen_senha to 1;
  NOVA_SENHA =  (select gen_id(gen_senha, 1) from RDB$DATABASE = 9999)
  suspend;
end

a mensagem de erro é a seguinte:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 5.
set.

Porque ele não reconhece o comando set , e se eu selecionar apénas a linha
"set generator gen_senha to 1" e pressionar F9 executa o comando OK????

Obrigado a todos!


Esta mensagem, incluindo seus anexos, pode conter informações privilegiadas
e/ou de caráter confidencial, não podendo ser retransmitida sem autorização
do remetente. Se você não é o destinatário ou pessoa autorizada a recebê-la,
informamos que o seu uso, divulgação, cópia ou arquivamento são proibidos.
Portanto, se você recebeu esta mensagem por engano, por favor, nos informe
respondendo imediatamente a este e-mail e em seguida apague-a.

______________________________________________
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