Fórum Gerar uma mensagem para usuario quando aplicar o NO ACTION? #395597
12/02/2011
0
Pessoal, como faço para gerar uma mensagem para o usuario quando ele esta tentando apagar uma tabela que contem movimentações entre suas referencias Pai/Filho.
Ou seja deixei como NO ACTION na tabela filho FK --- PK então ai não executa nenhuma ação.
Mais como mostrar pa ra o usuario uma mensagem que o filho não pode ser orfão ?
Obrigado.
Ou seja deixei como NO ACTION na tabela filho FK --- PK então ai não executa nenhuma ação.
Mais como mostrar pa ra o usuario uma mensagem que o filho não pode ser orfão ?
Obrigado.
Adriano Dolce
Curtir tópico
+ 0
Responder
Posts
12/02/2011
Adriano Dolce
Fiz assim,
Mas não esta mostrando o exception para o usuario.
CREATE OR ALTER TRIGGER EXEPT_CLIENTE_REF FOR CLIENTES ACTIVE BEFORE DELETE POSITION 0 AS begin if ( Exists ( SELECT c.nomeclie FROM clientes C, ordemserv O ) ) then Exception RESTRICAO 'Atenção! Exite movimentação para este Cliente.'; end
Mas não esta mostrando o exception para o usuario.
Responder
Gostei + 0
12/02/2011
Adriano Dolce
Pessoal, o que eu quero fazer é algo semelhante ao que fazemos no delphi
No delphi eu trataria assim
Ja diretamente no banco de dados Firebird é que não estou conseguindo
No delphi eu trataria assim
{verifica se existe referencia nas tabelas antes de exetudar o delete}
with qrylocal do
begin
close;
SQL.Clear;
SQL.Text := ' SELECT c.idclientes '+
' FROM clientes C '+
' INNER JOIN ordemserv O ON(c.idclientes = o.idclientes) '+
' WHERE c.idclientes = :codigo ';
ParamByName('codigo').AsInteger := StrToInt(edtgen.Text);
Open;
if not IsEmpty then
begin
Pt_MessageDlg('Atenção! Exite movimentação para este Cliente.', mtError, [mbok],0);
Exit;
end;
end;Ja diretamente no banco de dados Firebird é que não estou conseguindo
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)