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