web-dev-qa-db-fra.com

Erreur lors de la création d'une procédure stockée dans postgreSQL-10

Je n'ai pas pu faire fonctionner ma première procédure stockée, j'ai donc copié cet exemple dans le manuel:

CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
AS $$
INSERT INTO tbl VALUES (a);
INSERT INTO tbl VALUES (b);
$$;

CALL insert_data(1, 2);

et j'obtiens le message d'erreur suivant:

ERROR:  syntax error at or near "PROCEDURE"
LINE 1: CREATE PROCEDURE insert_data(a integer, b integer)
               ^
SQL state: 42601
Character: 8

Qu'est-ce que je fais mal?

J'exécute la base de données sur localhost, en tant qu'utilisateur administrateur. Je l'ai installé moi-même. Processus d'installation terminé sans erreur, et je peux créer des tableaux, des fonctions, des déclencheurs, etc.

2
Granny Aching

Comme mentionné dans les commentaires, PostgreSQL-10 n'a pas de procédures stockées. Il en va de même pour les versions antérieures.

Solutions de contournement:

  • Mettre à niveau vers la version 11 ou ultérieure
  • Utilisez une fonction

Merci, @Erwin Brandstetter et @a_horse_with_no_name

0
Granny Aching