Fórum Totalmente perdido #38290

25/08/2003

0

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


Mineiro

Mineiro

Responder

Posts

25/08/2003

Afarias

|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+


Responder

Gostei + 0

25/08/2003

Mineiro

cara estou executando ela pela store procedure do delphi 7. até pelo interbase chamando a o execute procedure ela não dá valor.


Responder

Gostei + 0

25/08/2003

Afarias

|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+


Responder

Gostei + 0

30/12/2005

Adrinei

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.


Responder

Gostei + 0

30/12/2005

Emerson Nascimento

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).


Responder

Gostei + 0

30/12/2005

Afarias

|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+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar