Bonjour, j'ai créé une table 'fonction' en tant que super utilisateur postgres....
J'ai attribué tous les droits à l'utilisateur postgres qui est le propriétaire de toutes mes tables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE TABLE hl.fonction (id integer PRIMARY KEY NOT NULL DEFAULT nextval('hl.fonction_id_seq'::regclass), nom VARCHAR (100),parent_id INTEGER DEFAULT NULL CONSTRAINT fonction_fkey1 REFERENCES hl.fonction, ordre INTEGER DEFAULT 0,produit VARCHAR(100) CONSTRAINT fonction_fkey2 REFERENCES hl.produit ON UPDATE CASCADE, CONSTRAINT fonction1_check CHECK (id > parent_id));
Quand je fais un insert dans cette table j'ai un message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 PDOStatement::execute(): SQLSTATE[42501]: Insufficient privilege 7 ERREUR: droit refus\xc3\xa9 pour la relation fonction\nCONTEXT: instruction SQL \xc2\xab I NSERT INTO hl.fonction(nom, ordre, produit) VALUES( $1 , $2 , $3 ) RETURNING id \xc2\xbb\nPL/pgSQL function "fonction_add"
voila ma fonction add qui marche super bien.
L'un de vous a-t-il une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 CREATE OR REPLACE FUNCTION hl.fonction_add(parent_id_ INTEGER, nom_ VARCHAR, ordre_ INTEGER, produit_ VARCHAR) RETURNS INTEGER AS $$ DECLARE id_fonction_ hl.fonction.id%TYPE; BEGIN IF parent_id_ <= 0 THEN INSERT INTO hl.fonction(nom, ordre, produit) VALUES(nom_, ordre_, produit_) RETURNING id INTO id_fonction_; RETURN id_fonction_; ELSE INSERT INTO hl.fonction(parent_id, nom, ordre, produit) VALUES(parent_id_, nom_, ordre_, produit_) RETURNING id INTO id_fonction_; RETURN id_fonction_; END IF; END; $$ LANGUAGE 'plpgsql';
Partager