2017-04-24 1 views
0

Tout d'abord, merci d'avance pour votre aide. S'il vous plaît ne dites pas qu'il s'agit d'une question répétée, car j'ai beaucoup cherché, mais toujours aucun des fils que j'ai trouvé ici se rapportent à ma requête. En fait, j'ai une requête simple que je ne parviens pas à passer et qui a besoin d'aide. Ma question est la suivante,Utilisation de variables définies personnalisées dans PgAdmin III?

Je veux lancer une simple requête SQL pour insérer des données dans un à-dire de table,

INSERT INTO "public"."plan" (id,name,description) VALUES (6,"Plan Name","Plan Description"); 

Mais au lieu de passer Nom du plan et Description du Plan sous forme de texte, Je cherche à définir des variables et de transmettre les place, bref quelque chose comme ça,

INSERT INTO "public"."plan" (id,name,description) VALUES (6,customPlanName,customPlanDescription); 

J'ai essayé d'utiliser ce qui suit, mais cela ne fonctionne pas,

DECLARE 
    planname TEXT; 
    plandesc TEXT; 
SET planname = 'MidasName'; 
SET plandesc = 'PlanDescription'; 
INSERT INTO "public"."plan" (id,name,description) VALUES (6,planname,plandesc); 

Pourriez-vous m'aider s'il vous plaît? Je veux que quelque chose soit exécuté en utilisant PostgreSQL sur PgAdmin III

Merci d'avance pour toute aide fournie.

+0

déclarations peut-être préparés à la place .. 'préparer st1 (texte, int) et sélectionnez 1 $, @ 4; exécuter st1 ('texte', 3);' –

+0

Merci Vao Tsun, si ce n'est pas un problème, pouvez-vous donner un exemple relatif à ma requête là-haut. – rac3b3nn0n

+0

pgAdmin III a un langage de script intégré appelé "pgScript" qui pourrait être ce que vous cherchez: https://pgadmin.org/docs/dev/pgscript.html Ou peut-être vous voulez une fonction simple définie par l'utilisateur: https://www.postgresql.org/docs/current/static/xfunc-sql.html ou un fichier plPGSQL plus complexe: https://www.postgresql.org/docs/current/static/plpgsql.html – IMSoP

Répondre

0

exemple des déclarations préparées:

prepare plan_insert (text,text) 
    as INSERT INTO "public"."plan" (id,name,description) VALUES (6,$1,$2); 
execute plan_insert ('MidasName','PlanDescription'); 
execute plan_insert ('Some Other','Some more');