PL / pgSQL est le langage procédural par défaut du système de base de données PostgreSQL. Les questions à propos de PL / pgSQL devraient également être étiquetées "PostgreSQL".
Je travaille sur une fonction qui me permet d'ajouter un index s'il n'existe pas. Je rencontre un problème auquel je ne parviens pas à obtenir une liste d’index à comparer. Des pensées? Ceci est un problème similaire à celui de la création de colonne qui est résolu avec ce code: …
Venant d’un arrière-plan MySQL, dans lequel les performances des procédures stockées (ancien article) et la facilité d’utilisation sont discutables, j’évalue PostgreSQL pour un nouveau produit destiné à mon entreprise. L’une des choses que je voudrais faire est de déplacer une partie de la logique d’application dans les procédures stockées. C’est …
J'ai lu différentes UPSERTimplémentations de PostgreSQL, mais toutes ces solutions sont relativement anciennes ou relativement exotiques (en utilisant le CTE inscriptible , par exemple). Et je ne suis tout simplement pas un expert en psql pour savoir immédiatement si ces solutions sont anciennes, car elles sont bien recommandées ou (bien, …
Cette question ne concerne pas bytea v. Oid v. Blobs v. Gros objets, etc. J'ai une table contenant un integerchamp de clé primaire et un byteachamp. J'aimerais entrer des données sur le byteaterrain. Cela peut vraisemblablement être fait par l’une des PL/langues, et j’envisagerai peut-être de le faire PL/Pythondans le …
Ainsi, un commentaire de cette question mentionne qu'il existe une légère différence entre "Stored Procedrues" et "Stored Funtions" dans PostgreSQL. Le commentaire est lié à un article de Wikipédia, mais certains ne semblent pas s’appliquer (par exemple, ils peuvent être utilisés dans une SELECTdéclaration). La syntaxe elle-même semble être un …
Dans Postgres, les requêtes préparées et les fonctions définies par l'utilisateur sont-elles équivalentes en tant que mécanisme de protection contre l'injection SQL ? Y a-t-il des avantages particuliers dans une approche par rapport à l'autre?
J'ai besoin d'attribuer des valeurs à 2 variables comme ci-dessous dans la fonction Postgres. a := select col1 from tbl where ... b := select col2 from tbl where ... Comment puis-je attribuer 2 valeurs à 2 variables dans une commande de ligne? Comme a,b := select col1,col2 from tbl …
J'ai un système où je ne peux pas contrôler la conception de certaines tables (répliquées via Slony-I), et j'ai donc une série de ce que nous appelons des «tables fantômes», où j'extrais des informations des tables répliquées et le stocker dans le formulaire traité dont j'ai besoin, tout en supprimant …
Quelqu'un peut-il résumer les différences entre: http://www.postgresql.org/docs/9.1/static/xfunc-sql.html et http://www.postgresql.org/docs/9.1/static/plpgsql.html ? Points principaux: différences de conception étant donné une famille problématique, commodité d'utilisation problèmes politiques
Il est possible lors de l' utilisation du pgadminou plsqlpour obtenir une prise d'un plan de requête pour une instruction SQL exécutée à l' intérieur d' un u ser d efined f Onction (UDF) à l' aide EXPLAIN. Alors, comment puis-je obtenir le plan de requête pour une invocation particulière …
J'utilise une fonction PL / pgSQL dans PostgreSQL 9.3 avec plusieurs requêtes complexes à l'intérieur: create function f1() returns integer as $$ declare event tablename%ROWTYPE; .... .... begin FOR event IN SELECT * FROM tablename WHERE condition LOOP EXECUTE 'SELECT f2(event.columnname)' INTO dummy_return; END LOOP; ... INSERT INTO ... FROM …
J'ai une petite table (~ 10 lignes) appelée restrictionsdans ma base de données PostgreSQL, où les valeurs sont supprimées et insérées quotidiennement. Je voudrais avoir un tableau appelé restrictions_deleted, où chaque ligne supprimée restrictionssera stockée automatiquement. Puisqu'il restrictionsa un identifiant de série, il n'y aura pas de doublons. Comment écrire …
Compte tenu de cette configuration dans Postgres 9.4 actuel (à partir de cette question connexe ): CREATE TABLE foo (ts, foo) AS VALUES (1, 'A') -- int, text , (7, 'B'); CREATE TABLE bar (ts, bar) AS VALUES (3, 'C') , (5, 'D') , (9, 'E'); Il y a aussi …
J'expérimente actuellement un peu avec PL / pgSQL et je veux savoir s'il existe une façon plus élégante de faire quelque chose comme ça: select c.data into data from doc c where c.doc_id = id and c.group_cur > group_cur order by c.id desc limit 1; EXCEPTION WHEN NO_DATA_FOUND THEN select …
J'essaie de renvoyer plusieurs enregistrements en utilisant le type de données RECORD, est-il possible d'ajouter à RECORD et d'ajouter / ajouter une nouvelle valeur à chaque itération à ce RECORD. c'est-à-dire que je veux ajouter à recce qui recdevient un ensemble de lignes lorsque la boucle est terminée, que je …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.