Ajuda com exceção no firebird!!

Firebird

05/02/2008

Caros colegas, sou um iniciante no firebird 2.0, no qual este já é meu segundo projeto de teste usando esta base de dados. Estou com dificudades de gerar uma exceção no firebird X Delphi 7.0. Uso os seguintes componentes de acesso ao banco:

SqlConection+SqlDataSet+DataSetProvider+ClienteDataSet+DataSource.

Tenho uma tabela de GRUPOS DE PRODUTOS com os seguintes campos:

create table GRU
(
id_gru integer not null,
descgru varchar(50),
constraint pk_gru primary key (id_gru)
);


A exceção deve retornar uma mensagem caso, AO GRAVAR, o campo DESCGRU (Descrição do Grupo) fique em branco. Segue o código da Trigger de NUMERO SEQUENCIAL + EXCEÇÃO:

create exception ERRO1 ´Campo de preenchimento obrigatório!!´

set term^;
create trigger seq_gru for gru
active before insert position 0
as
declare variable SEQ integer;
begin
select max(id_gru) from gru into seq;
if (seq is null) then seq = 0;
seq = seq+1;
new.id_gru = seq;
if (new.descgru is null) then execption ERRO1;
end;
^
set term;^


no caso, o correto seria essa exceção ficar no UPDATE, pois caso o usuário alterasse o registro e deixasse o campo em branco tb ocorreria a exceção.

Agradeço aos colegas do forum, e peço que se alguem tiver uma forma mais profissional de fazer isso que estou querendo, ficaria muito grato!!

agraço a todos!!


Maxymus

Maxymus

Curtidas 0

Respostas

Sremulador

Sremulador

05/02/2008

amigo você pode fazer isto setando campo para not null, quanto a exceção, o que esta ocorrendo, você já verificou se ele não esta passando outra informação para o campo, e assim não retornando o null


GOSTEI 0
POSTAR