Totalmente perdido
Boa noite pessoal. escrevi uma procedure que coloca valores para mim em uma tabela chamada tipo. ela usa uma fK(cod_classe).
Não estou conseguindo colocar valores quando eu executo ela. Ela não dá erro mas não insere os valores. olhem o meu código.
CREATE PROCEDURE TIPO_BEM_INCLUIR
(
P_COD_CLASSE INTEGER,
P_NOME_TIPO VARCHAR(50)
)
RETURNS
(
P_COD_TIPO INTEGER
)
AS
begin
select max(cod_Tipo) from Tipo_bem
into :p_cod_tipo;
if (p_cod_Tipo is null) then
p_cod_tipo = 1;
else
p_cod_tipo= p_cod_tipo + 1;
insert into tipo_bem(cod_tipo,cod_classe,nome_tipo,st_tipo)values
(:p_cod_tipo,:p_cod_classe,:p_nome_tipo,´V´);
end
^
SET TERM ; ^
Obs: Não estou usando o suspend. Se alguém puder me ajudar
Não estou conseguindo colocar valores quando eu executo ela. Ela não dá erro mas não insere os valores. olhem o meu código.
CREATE PROCEDURE TIPO_BEM_INCLUIR
(
P_COD_CLASSE INTEGER,
P_NOME_TIPO VARCHAR(50)
)
RETURNS
(
P_COD_TIPO INTEGER
)
AS
begin
select max(cod_Tipo) from Tipo_bem
into :p_cod_tipo;
if (p_cod_Tipo is null) then
p_cod_tipo = 1;
else
p_cod_tipo= p_cod_tipo + 1;
insert into tipo_bem(cod_tipo,cod_classe,nome_tipo,st_tipo)values
(:p_cod_tipo,:p_cod_classe,:p_nome_tipo,´V´);
end
^
SET TERM ; ^
Obs: Não estou usando o suspend. Se alguém puder me ajudar
Mineiro
Curtidas 0
Respostas
Afarias
25/08/2003
|Não estou conseguindo colocar valores quando eu executo ela. Ela não
|dá erro mas não insere os valores. olhem o meu código.
Como vc está executando?!?!
... não vi nenhum erro na procedure, inclusive, pra ter certesa criei uma igual para testar e funcionou perfeitamente.
T+
|dá erro mas não insere os valores. olhem o meu código.
Como vc está executando?!?!
... não vi nenhum erro na procedure, inclusive, pra ter certesa criei uma igual para testar e funcionou perfeitamente.
T+
GOSTEI 0
Mineiro
25/08/2003
cara estou executando ela pela store procedure do delphi 7. até pelo interbase chamando a o execute procedure ela não dá valor.
GOSTEI 0
Afarias
25/08/2003
|cara estou executando ela pela store procedure do delphi 7. até pelo
|interbase chamando a o execute procedure ela não dá valor.
Vc quer dizer pelo IBConsole né?!
Bom, como disse, não estou vendo qualquer erro na procedure e, comigo funciona perfeitamente.
não sei... não retorna nenhum erro?? não insere a linha?? não tem nenhuma trigger before/after insert?? sei lá...
T+
|interbase chamando a o execute procedure ela não dá valor.
Vc quer dizer pelo IBConsole né?!
Bom, como disse, não estou vendo qualquer erro na procedure e, comigo funciona perfeitamente.
não sei... não retorna nenhum erro?? não insere a linha?? não tem nenhuma trigger before/after insert?? sei lá...
T+
GOSTEI 0
Adrinei
25/08/2003
Afarias,
Uma vez tive um problema parecido e faltava ´suspend´ no final da procedure para ela retornar o valor ao delphi.
Se olhasse no banco de dados estava calculando certo, entretanto, sem a cláusula suspend o valor não era retornado ao delphi.
Uma vez tive um problema parecido e faltava ´suspend´ no final da procedure para ela retornar o valor ao delphi.
Se olhasse no banco de dados estava calculando certo, entretanto, sem a cláusula suspend o valor não era retornado ao delphi.
GOSTEI 0
Emerson Nascimento
25/08/2003
os dados estão sendo ´commitados´?
não sei pelo IBConsole, mas algumas ferramentas não ficam com o AutoCommit ligado. veja se não é isso (se é que esse recurso existe no IBConsole).
não sei pelo IBConsole, mas algumas ferramentas não ficam com o AutoCommit ligado. veja se não é isso (se é que esse recurso existe no IBConsole).
GOSTEI 0
Afarias
25/08/2003
|Uma vez tive um problema parecido e faltava ´suspend´ no final da
|procedure para ela retornar o valor ao delphi
sim, tem q se estar atento a isto.
* mas * SUSPEND só é necessário em procedimentos que serão usados em SELECTs (SELECT * FROM PROCEDIMENTO) -- procedimentos ´executáveis´ não dependem de SUSPEND para retornar os valores (EXECUTE PROCEDURE PROCEDIMENTO...)
T+
|procedure para ela retornar o valor ao delphi
sim, tem q se estar atento a isto.
* mas * SUSPEND só é necessário em procedimentos que serão usados em SELECTs (SELECT * FROM PROCEDIMENTO) -- procedimentos ´executáveis´ não dependem de SUSPEND para retornar os valores (EXECUTE PROCEDURE PROCEDIMENTO...)
T+
GOSTEI 0