criacao de procedure ibconsole 7.5
pessoal estou com problema na criação de uma procedure no ibconsole 7.5
, o valor d_inteiro, é um dominio do tipo integer default 0
vi que tinha alguns topicos em 2009 com esse mesmo problema, porem sem solução,
a procedure faz parte da video aula 2 de renato matos, curso online: automação comercial em delphi com oop , blps e firebird
sei que se substituir o dominio d_inteiro por integer ele passa, mas depois pra frente ele nao executa a stored procedure
aí vai os codigos:
create procedure sp_get_gerador (pNome Varchar(50))returns (pValor d_inteiro)
as
declare variable vStm Varchar (500);
begin
vStm ='select next value for'|| pNome|| ' from rdb$database';
execute statement vStm into:pValor;
suspend;
end;
, o valor d_inteiro, é um dominio do tipo integer default 0
vi que tinha alguns topicos em 2009 com esse mesmo problema, porem sem solução,
a procedure faz parte da video aula 2 de renato matos, curso online: automação comercial em delphi com oop , blps e firebird
sei que se substituir o dominio d_inteiro por integer ele passa, mas depois pra frente ele nao executa a stored procedure
aí vai os codigos:
create procedure sp_get_gerador (pNome Varchar(50))returns (pValor d_inteiro)
as
declare variable vStm Varchar (500);
begin
vStm ='select next value for'|| pNome|| ' from rdb$database';
execute statement vStm into:pValor;
suspend;
end;
Paulo Castro
Curtidas 0
Respostas
Eriley Barbosa
04/08/2010
Primeiro veja se tem o dominio criado e se está com o nome que você digitou na sp, pois, se estiver criado e com o nome que você está utilizando, não tem porque não funcionar.
Segundo se trocar por integer passa, mas tem de executar de qualquer maneira.
Qualquer coisa poste o erro que está dando.
Atenciosamente
Eriley
GOSTEI 0
Emerson Nascimento
04/08/2010
create procedure sp_get_gerador (pNome Varchar(50))returns (pValor d_inteiro)
as
declare variable vStm Varchar (500);
begin
vStm ='select next value for'|| pNome|| ' from rdb$database';
execute statement vStm into:pValor;
suspend;
end;
atenção num detalhe: está faltando um espaço após a palavra for.
vStm ='select next value for '|| pNome|| ' from rdb$database';
^ aqui tem um espaço
as
declare variable vStm Varchar (500);
begin
vStm ='select next value for'|| pNome|| ' from rdb$database';
execute statement vStm into:pValor;
suspend;
end;
atenção num detalhe: está faltando um espaço após a palavra for.
vStm ='select next value for '|| pNome|| ' from rdb$database';
^ aqui tem um espaço
GOSTEI 0
Paulo Castro
04/08/2010
respondendo ao ERILEY VILAGRANDE
erro que da é o seguinte com o dominio d_inteiro
Error at line 1 - Dynamic SQL Error
SQL error code=-804
lock conflict on no wait transaction
SQL - create procedure sp_get_gerador (pNome Varchar(50))returns (pValor d_inteiro)
as
declare variable vStm Varchar(500);
begin
vStm='select next value for' ||pNome|| 'from rdb$database';
execute statement vStm into: pValor;
suspend;
end;
colocando integer no lugar d_inteiro passa, aí executo o seguinte codigo , observando
que ja tenho criado o generator gen_produtos
select * from sp_get_gerador ('gen_produtos')
e retorna o seguinte erro,
Error at line 1 - Dynamic SQL Error
SQL error code =-104
token unknown - line 1, char 19
forgen_produtos
SQL - select * from sp_get_gerador ('gen_produtos')
respondendo ao AO EMERSON, na verdade tem o espaço depois de for, se eu mudar para integer ele até passa,
o estranho pessoal é que na video aula com o renato matos ,o codigo passa certinho com o dominio d_inteiro, que venho utilizando desde o inicio do curso para criação das tabelas, só nao passou na criação dessa procedure,, mas valeu pela ajuda. vamos deixar em aberto quem sabe alguem tem a resposta pra isso
GOSTEI 0
Emerson Nascimento
04/08/2010
esse erro apresentado:
"Error at line 1 - Dynamic SQL Error
SQL error code =-104
token unknown - line 1, char 19
forgen_produtos"
indica que NÃO há espaço depois da palavra for.
do jeito que está, com a instrução select * from sp_get_gerador ('gen_produtos'), o que será gerado é:
select next value forgen_produtos from rdb$database
quando deveria ser:
select next value for gen_produtos from rdb$database
e, para que isso funcione, a procedure deve ficar assim:
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500);
begin
vStm='select next value for ' ||pNome|| ' from rdb$database';
// espaço aqui ^ e aqui ^
execute statement vStm into: pValor;
suspend;
end;
"Error at line 1 - Dynamic SQL Error
SQL error code =-104
token unknown - line 1, char 19
forgen_produtos"
indica que NÃO há espaço depois da palavra for.
do jeito que está, com a instrução select * from sp_get_gerador ('gen_produtos'), o que será gerado é:
select next value forgen_produtos from rdb$database
quando deveria ser:
select next value for gen_produtos from rdb$database
e, para que isso funcione, a procedure deve ficar assim:
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500);
begin
vStm='select next value for ' ||pNome|| ' from rdb$database';
// espaço aqui ^ e aqui ^
execute statement vStm into: pValor;
suspend;
end;
GOSTEI 0
Eriley Barbosa
04/08/2010
Concordo com o Emerson, amigo digite a procedure como ele mostrou e verá que funciona.
Atenciosamente
Eriley
GOSTEI 0
Paulo Castro
04/08/2010
galera deu certo , realmente estava faltando alguns espaços, mas só passou com o integer no lugar do dominio d_inteiro,
com d_inteiro ainda tava dando conflito,
mas com o integer passou na as duas etapas, e executou legal,
valeu mesmo, agora poderei continuar , rsrsrs, grande abraço
com d_inteiro ainda tava dando conflito,
mas com o integer passou na as duas etapas, e executou legal,
valeu mesmo, agora poderei continuar , rsrsrs, grande abraço
GOSTEI 0
Janio Alexandre,,
04/08/2010
por favor, estou precisando de ajuda pois estou enfrentando o mesmo problema, ao tentar criar a procedure com o seguinte codigo:
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500);
begin
vStm = select next value for || pNome || from rdb$database;
execute statement vStm into :pValor;
suspend;
end;
Mensagem de erro exibida(com d_inteiro: Token unknown - line 1, char 68) e com (integer: Unexpected end of command):
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 68
d_inteiro
Statement: create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500)
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500);
begin
vStm = select next value for || pNome || from rdb$database;
execute statement vStm into :pValor;
suspend;
end;
Mensagem de erro exibida(com d_inteiro: Token unknown - line 1, char 68) e com (integer: Unexpected end of command):
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 68
d_inteiro
Statement: create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500)
GOSTEI 0
Janio Alexandre,,
04/08/2010
O código esta assim:
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500);
begin
vStm=select next value for ||pNome|| from rdb$database;
execute statement vStm into: pValor;
suspend;
end;
e esta sendo exibido a seguinte mensagem de erro:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 68
d_inteiro
Statement: create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500)
Por favor me ajudem.
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500);
begin
vStm=select next value for ||pNome|| from rdb$database;
execute statement vStm into: pValor;
suspend;
end;
e esta sendo exibido a seguinte mensagem de erro:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 68
d_inteiro
Statement: create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm Varchar(500)
Por favor me ajudem.
GOSTEI 0
Aurino Silva
04/08/2010
Pessoal o erro que o meu está mostrando é esse:
SQL error code = -104
Unexpected end of command - line 3, column 36
Statement: create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor integer)
as
declare variable vStm Varchar(500)
alguem pode me ajudar?
SQL error code = -104
Unexpected end of command - line 3, column 36
Statement: create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor integer)
as
declare variable vStm Varchar(500)
alguem pode me ajudar?
GOSTEI 0
Fabio Junior
04/08/2010
Ola pessoal, eu tamben tenho o mesmo problema.
digitei a procedure da mesma forma que o renato fez no video e nao ta dando certo,acontece o seguinte erro...
a procedure ta dessa forma
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor integer)
as
declare variable vStm Varchar(500);
begin
vStm=select next value for ||pNome|| from rdb$database;
execute statement vStm into: pValor;
suspend;
end;
ela me retorna esse erro..
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command - line 3, column 36
Statement: create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor integer)
as
declare variable vStm Varchar(500)
digitei a procedure da mesma forma que o renato fez no video e nao ta dando certo,acontece o seguinte erro...
a procedure ta dessa forma
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor integer)
as
declare variable vStm Varchar(500);
begin
vStm=select next value for ||pNome|| from rdb$database;
execute statement vStm into: pValor;
suspend;
end;
ela me retorna esse erro..
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command - line 3, column 36
Statement: create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor integer)
as
declare variable vStm Varchar(500)
GOSTEI 0
Emerson Nascimento
04/08/2010
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor integer)
as
declare variable vStm Varchar(500);
begin
vStm = select next value for || pNome || from rdb$database;
execute statement vStm into: pValor;
suspend;
end;
as
declare variable vStm Varchar(500);
begin
vStm = select next value for || pNome || from rdb$database;
execute statement vStm into: pValor;
suspend;
end;
GOSTEI 0
Emerson Nascimento
04/08/2010
create procedure sp_get_gerador (pNome Varchar(50)) returns (pValor integer) as declare variable vStm Varchar(500); begin vStm = select next value for || pNome || from rdb$database; execute statement vStm into: pValor; suspend; end;
GOSTEI 0