On Sunday 10 August 2003 15:17, Jean-Bruno Luginb�hl wrote:
> Bonjour,
>
> je m'essaye aux fonctions dans PostGreSQL, mais je n'arrive pas �
> l'�crire correctement. Voici ce qui m'arrive :
>
> lugin=# CREATE FUNCTION no_client() RETURNS INTEGER AS '
> lugin'# BEGIN
> lugin'# IF NEW.num_client!=OLD.num_client THEN
> lugin'# UPDATE factures set factures.num_client=NEW.num_client
> lugin'# WHERE factures.num_client=OLD.num_client;
> lugin'# END IF;
> lugin'# RETURN 1;
> lugin'# END;
> lugin'# ' LANGUAGE 'plpgsql';
> ERROR:  language "plpgsql" does not exist
> lugin=#
>
> language plpgsql n'existe pas, je pensais que c'�tait interne � la base
> de donn�e (version 7.3.2) et donc qu'aucun module externe ne sont sens�s
> �tre install�, me trompe-je? Le nom du langage a chang�, je n'en ai rien
> vu. Toutes suggestion est bienvenue.
>
> Merci

Il faut executer les instructions sql suivantes sur la bd concern�e:

CREATE FUNCTION plpgsql_call_handler ()
  RETURNS LANGUAGE_HANDLER AS 'plpgsql' LANGUAGE C;

CREATE TRUSTED PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler;

On peus �galement le faire sur la bd template1 pour que le language soit 
install� sur les nouvelles bd.

Pour plus d'info:

http://www.postgresql.org/docs/7.3/interactive/xplang-install.html

A+
Martial Guex

_______________________________________________
gull mailing list
[EMAIL PROTECTED]
http://lists.alphanet.ch/mailman/listinfo/gull

Répondre à