Gerar uma mensagem para usuario quando aplicar o NO ACTION?
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
Curtidas 0
Respostas
Adriano Dolce
12/02/2011
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.
GOSTEI 0
Adriano Dolce
12/02/2011
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
GOSTEI 0