PostgreSQL utilise des quotes simples pour les chaînes de caractères, donc pour appeler ta procédure stockée :
select insert('test', 5);
Mais ça ne marchera tout de même pas car tu génères une requête dynamiquement avec tes arguments, il te faut utiliser EXECUTE :
1 2 3 4 5 6 7 8 9
| CREATE OR REPLACE FUNCTION insert(text,integer) RETURNS integer
AS' DECLARE
database ALIAS FOR $1;
val ALIAS FOR $2;
BEGIN
EXECUTE ''INSERT INTO '' || quote_ident(database) || '' VALUES ('' || val || '')'';
return 0;
END;'
LANGUAGE 'plpgsql'; |
Partager