Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A paraméteres lekérdezések lehetővé teszik a helyőrzők SQL-ben való megőrzését és az értékek futásidőben történő megadását. A PostgreSQL-bővítmény ezeket az értékeket lekérdezési paraméterekként köti össze; nem illeszt be értékeket az SQL-szövegbe.
Ezt a lapot akkor használja, ha olyan eszközökből vagy alkalmazáskódból kimásolt SQL-kódot szeretne futtatni, amelyekben például :name, $1 vagy ? helyőrzőket használnak.
Támogatott helyőrző szintaxisok
A lekérdezésszerkesztő a sztringeken, megjegyzéseken, típuskényszerítéseken, tömbszeleteken, dollárjelekkel határolt blokkokon és a PostgreSQL JSON-operátorain kívül észleli ezeket a helyőrzőstílusokat.
Névvel ellátott helyőrzők
select id, email
from users
where id = :user_id;
A névvel ellátott helyőrzők megkülönböztetik a kis- és nagybetűket. Az ugyanazon név ismétlődő előfordulásai egyazon rácssorban jelennek meg.
PostgreSQL pozicionális helyőrzők
select id, email
from users
where id = $1;
$N A helyőrzők pozicionálisak az őket tartalmazó utasításon belül.
Qmark pozicionális helyőrzők
select id, email
from users
where active = ?;
? A helyőrzők balról jobbra sorrendben működnek. A ? bármely értékpozícióban paraméterként működik, beleértve az összehasonlító operátorok után (>=, <=, <>), a CASE ágakban és a LIMIT/OFFSET esetében. A PostgreSQL JSONB operátorai ??|és ?& a JSON-útvonal operátorai @? operátorként, nem paraméterekként vannak felismerve.
Important
Utasításonként egy helyőrző stílust használjon. A végrehajtás előtt elutasításra kerül az az utasítás, amely :name-val$N vagy $N-val? keveredik.
A Paraméterek lap megnyitása és használata
- Nyisson meg vagy hozzon létre egy
.sqlfájlt, és csatlakoztassa egy adatbázishoz. - Futtassa a Lekérdezés végrehajtása (PostgreSQL), az Aktuális utasítás végrehajtása (PostgreSQL) parancsot, vagy futtasson egy kijelölt SQL-tartományt.
- Ha az SQL helyőrzőket tartalmaz, a Paraméterek lap az alsó panelen nyílik meg.
- Adjon meg egy értéket minden sorhoz, válasszon egy típust, ha szükséges, és válassza a Lekérdezés futtatása lehetőséget.
- Az első futtatás után szerkessze az értékeket, és a lekérdezés ismétléséhez válassza a Futtatás lehetőséget .
A lapfül minden egyes egyedi, névvel ellátott helyőrzőhöz egy sort, valamint minden pozicionális helyőrzőhöz egy sort jelenít meg. Minden sor tartalmazza a helyőrző nevét vagy indexét, egy értékbemenetet, egy NULL jelölőnégyzetet, egy típus legördülő listát és a sorműveleteket, ha elérhető.
Több utasítást tartalmazó parancsfájlok
Megjegyzés (2026. május): A cikk korábbi verziói helytelenül írták le a pozícióindexeket utasításfüggetlenként. A viselkedés nem változott; csak a dokumentáció javítása történik.
A pozícióparaméterek ($N, ?) egyetlen értéktömböt osztanak meg a végrehajtott szkriptben.
$1 (vagy az első ?) bármely utasításban mindig ugyanazt az értéket veszi fel, mint $1 bármely más utasításban. Ha ugyanazt a pozícióindexet használja az utasítások között, az nem ad nekik független értékeket. Ha ugyanarra az indexre különböző értékekre van szüksége különböző utasításokban, használjon elnevezett paramétereket (:name) helyette.
Ha egy megosztott, névvel ellátott érték nem kompatibilis az azt használó egyik utasítással, a PostgreSQL hibát jelez, a rács pedig megőrzi a megadott értékeket, így módosíthatja őket, majd újra futtathatja a műveletet.
NULL értékek
Az SQL NULL kötéséhez használja a NULL jelölőnégyzetet. Ha be van jelölve, a program figyelmen kívül hagyja az értékmezőt az adott sorhoz.
Ha beírja a literális szöveget NULL , miközben a NULL jelölőnégyzet ki van kapcsolva, a rács figyelmezteti, hogy az érték szövegként NULLkötődik, nem SQL-hez NULL.
Paramétertípusok kiválasztása
A típus legördülő listája alapértelmezés szerint a következő, amely lehetővé teszi, hogy autoa PostgreSQL a paraméter típusát következtethesse. Válasszon egy típust, ha ügyféloldali érvényesítést vagy világosabb kötést szeretne:
textintegerbigintnumericbooleandatetimestamptimestamptzuuidjsonjsonb
A validálás nem szigorú. A figyelmeztetés nem blokkolja a beküldést; A PostgreSQL marad a végleges érvényesítő a végrehajtáskor.
Lekérdezésterv létrehozása paraméterekkel
Ha helyőrzőket tartalmazó SQL-lekérdezéstervet vizualizál, a Paraméterek lap a sorok visszaadása helyett a lekérdezésterv-vizualizációt vezérli. A futtatás gomb felolvassa a Lekérdezésterv vizualizációja parancsot, és az első futtatás után újra felolvassa a Vizualizációt. Adja meg az értékeket, és válassza ki a EXPLAIN futtatásához és megnyitásához szolgáló gombot. Ez az elérési út nem ad vissza lekérdezési eredményeket.
Használja a „Figyelmen kívül hagyás” lehetőséget
Használja a Kihagyás lehetőséget, ha a táblázat olyan tokent jelenít meg, amelynek az SQL-ben kell maradnia, például egy érvényes PostgreSQL-operátort. Az „Ignore” csak akkor van engedélyezve, ha a token hozzárendelés nélkül is érvényes SQL marad.
SQL szerkesztése és újrafuttatása
A Paraméterek lap megnyitásakor szerkesztheti az SQL-t, és újra kiválaszthatja a Futtatás lehetőséget. A bővítmény újra kinyeri a helyőrzőket, és összehasonlítja az új sablonalapú SQL-t az előző ujjlenyomattal.
Ha a helyőrző csoport megváltozott, az eltolódási szalagcím összefoglalja a megváltozott elemeket, például a hozzáadott vagy eltávolított helyőrzőket. A bővítmény akkor egyesíti az értékeket előre, ha a helyőrző név vagy pozícióindex szerint továbbra is egyezik. Ha az összes helyőrzőt eltávolítják, a rácsnézet bezárul, és a lekérdezés a szokásos módon fut le.
Tranzakciók megszakítása és helyreállítása
Amíg a paraméterezett futtatás folyamatban van, a Futtatás gomb Leállítás vezérlőre változik (Mégse felirattal). A Megszakítás megszakítja az éppen futó köteget, átugorja a későbbi kötegeket, és a Paraméterek lapot nyitva hagyja, a benne lévő értékeket változatlanul hagyva. A megszakított futtatás nem hiba, hanem a megszakított köteg állapotát jeleníti meg, így a sorok nem jelennek meg hibaként.
A bővítmény nem automatikusan visszaállítja a felhasználó által indított tranzakciókat. Ha a megszakítás után a kapcsolat megszakított tranzakciós állapotban marad, a Paraméterek lapon egy helyreállítási értesítés jelenik meg a következővel: Végrehajtás ROLLBACK. Válassza ki, hogy ugyanazon a kapcsolaton kiadjon egy explicit ROLLBACK-t, majd futtassa újra a szkriptet.
Hibák áttekintése és újrapróbálkozás
Ha egy paraméteres futtatás meghiúsul, a Paraméterek lap megőrzi az értékeket, és megjeleníti a sikertelen állapotot az adatbázis hibaösszegzőjével. Válassza az Üzenetek megtekintése lehetőséget a teljes üzenet részleteinek megnyitásához.
A megszakított futtatások a sikertelen futtatásoktól elkülönítve jelenítik meg a megszakított állapotot, a nem futtatott későbbi kötegek pedig kihagyottként lesznek megjelölve.
Miután kijavított egy értéket vagy típust, válassza ismét a Futtatás lehetőséget. A fül törli az elavult hiba-, megszakítási és sorkiemelési állapotot az új próbálkozáshoz. Ha a kapcsolat még mindig megszakított tranzakcióban van, a helyreállítási értesítés ismét megjelenik.
Lekérdezési előzmények értékének megőrzése
A beállítás pgsql.queryPlaceholders.historyValueRetention azt szabályozza, hogy a paraméterértékek megmaradnak-e az aktuális munkamenet memórián belüli lekérdezési előzményeiben:
| Érték | Viselkedés |
|---|---|
ask |
Kérdezzen rá minden sikeres paraméterezett futás után. |
always |
A munkamenet-előzménybejegyzések értékeinek megőrzése kérés nélkül. |
never |
Csak a sablonos SQL megőrzése. |
Ha ask aktív, a sikeres futtatás után megjelenő üzenet egyszeri mentést kínál (csak ezt a bejegyzést őrizze meg), Mindig mentse (a beállítást alwaysis váltsa át), Kihagyás (csak sablonos SQL esetén), és ne kérdezzen újra (a beállítást neveris állítsa be).
Az értékek csak a memóriában maradnak, és a VS Code újratöltése vagy a munkaterület módosításakor törlődnek. A paraméterértékeket kitakarjuk a telemetriai adatokból és a naplókból.
FELKÉSZÜLÉSi kikötés
PREPARE ... AS SELECT $1 A PostgreSQL kiszolgálóoldali pozíciószintaxisát használja. A bővítmény felismeri az PREPARE utasításokat, és a helyőrzőket a PREPARE törzsében hagyja meg a PostgreSQL számára, ahelyett hogy kliensoldalon kötné őket. Az ugyanabban a szkriptben lévő többi utasítást a rendszer normál módon elemzi.
Nem támogatott MVP-esetek
Az MVP nem tartalmazza a következőket:
- Az értékek tartós, lemezen tárolt előzményadatai.
- Elnevezett vagy mentett paraméterkészletek a szerkesztői munkamenetekben.
- Kiszolgálóoldali
PREPARE/EXECUTEújrafelhasználás ügyféloldali paraméteres végrehajtásként. - Összetett, tömb, bájt, tartomány, intervallum, szám vagy más típusú kötés a támogatott legördülő listatípusokon túl.