Fórum Stored Procedure pra Executar Excepion se Campo em Branco #38335

26/08/2003

0

como faço pra Stored Procedure pra Executar Excepion se tiver um campo em branco na tabela? uso ibx + interbase.

grato
Guilherme


Guibas

Guibas

Responder

Posts

26/08/2003

Afarias

create procedure {...} as
begin
if (variavel_tal is null) then
EXCEPTION nome_da_exceção;
end^


más talvês o q vc queira realmente é uma trigger ::

create trigger {...} as
begin
if (new.campo_tal is null) then
EXCEPTION nome_da_exceção;
end^


dê uma lida no ´SQL Reference Help´ q vem com o Interbase nos tópicos CREATE PROCEDURE e CREATE TRIGGER


T+


Responder

Gostei + 0

27/08/2003

Guibas

Cara criei a trigger e tudo mas ele não dispara ... o que faço pra disparar a trigger? quando vou no delphi e deixo o campo em branco ele da o erro do delphi ... não o que ta na exception??? o que fazer?


e outra vc mensionou uma variavel se fosse fazer uma procedure .... como faço pra criar esse variavel e setar ela como o campo da tabela?

grato

Guilherme


Responder

Gostei + 0

27/08/2003

Afarias

|quando vou no delphi e deixo o campo em branco ele da o erro do
|delphi ... não o que ta na exception??? o que fazer?

Ora... se da erro no Delphi, o banco não recebe o INSERT e por isso a TRIGGER não dispara.

Preste atenção -- o erro q vc está recebendo é do Delphi devido o fato do campo está como REQUIRED=TRUE. Isso já controla o q vc quer sem necessidade da Trigger.

Agora, se vc realmente quer usar a trigger, coloque a propriedade Required = FALSE no TField q representa o campo.


|e outra vc mensionou uma variavel se fosse fazer uma procedure ....
|como faço pra criar esse variavel e setar ela como o campo da tabela?

Com um FOR SELECT {...} INTO {...} DO {...}

Não se preocupe -- não é um Stored Proc q vc precisa. No mais, dê uma olhada no ´SQL Reference Help´ q vem no IB sobre CREATE TRIGGER e CREATE PROCEDURE


T+


Responder

Gostei + 0

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

Aceitar