Обсуждение: Re: Create trigger problem :

Поиск
Список
Период
Сортировка

Re: Create trigger problem :

От
"Mark G. Gilmore"
Дата:
Instead of sending old.ldArt in as a parameter, try just referencing old
inside the function body.
So the function then has no argument.

Mark



"De Leeuw Guy" <G.De_Leeuw@eurofer.be> wrote in message
news:98imbv$2hk2$1@news.tht.net...
> Hi all,
>
> I try this :
>
> CREATE FUNCTION DelArtFather(INT4)
>
> RETURNS INT4
>
> AS '
>
> DELETE FROM TArticles WHERE IdArtFather = $1;
>
> SELECT 1 AS ignore_this
>
> '
>
> LANGUAGE 'sql';
>
> CREATE TRIGGER trigger_TArticles
>
> BEFORE DELETE ON TArticles
>
> FOR EACH ROW EXECUTE PROCEDURE DelArtFather(old.IdArt);
>
> and i obtain this error :
>
> ERROR: parse error at or near "old"
>
> How can i correct my command ??
>
> Thanks in advance
>
> Guy De Leeuw
>
>
>



Re: Create trigger problem :

От
"De Leeuw Guy"
Дата:
I try also this solution, but i receive the error :
CURRENT : used in non-rule query
CreateTrigger: function delartfather() does not exist

CREATE FUNCTION DelArtFather()
 RETURNS INT4
 AS '
  DELETE FROM TArticles WHERE IdArtFather = OLD.IdArt;
  SELECT 1 AS ignore_this
 '
 LANGUAGE 'sql';

CREATE TRIGGER trigger_TArticles
 BEFORE DELETE ON TArticles
 FOR EACH ROW EXECUTE PROCEDURE DelArtFather();


Guy


"Mark G. Gilmore" <mgilmore@pobox.com> a �crit dans le message news:
98isoh$2irm$1@news.tht.net...
> Instead of sending old.ldArt in as a parameter, try just referencing old
> inside the function body.
> So the function then has no argument.
>
> Mark
>
>
>
> "De Leeuw Guy" <G.De_Leeuw@eurofer.be> wrote in message
> news:98imbv$2hk2$1@news.tht.net...
> > Hi all,
> >
> > I try this :
> >
> > CREATE FUNCTION DelArtFather(INT4)
> >
> > RETURNS INT4
> >
> > AS '
> >
> > DELETE FROM TArticles WHERE IdArtFather = $1;
> >
> > SELECT 1 AS ignore_this
> >
> > '
> >
> > LANGUAGE 'sql';
> >
> > CREATE TRIGGER trigger_TArticles
> >
> > BEFORE DELETE ON TArticles
> >
> > FOR EACH ROW EXECUTE PROCEDURE DelArtFather(old.IdArt);
> >
> > and i obtain this error :
> >
> > ERROR: parse error at or near "old"
> >
> > How can i correct my command ??
> >
> > Thanks in advance
> >
> > Guy De Leeuw
> >
> >
> >
>
>