Na przykład w MS-SQL możesz otworzyć okno zapytania i wykonać następujące czynności:
DECLARE @List AS VARCHAR(8)
SELECT @List = 'foobar'
SELECT *
FROM dbo.PubLists
WHERE Name = @List
Jak to się robi w PostgreSQL? Czy da się to zrobić?
Na przykład w MS-SQL możesz otworzyć okno zapytania i wykonać następujące czynności:
DECLARE @List AS VARCHAR(8)
SELECT @List = 'foobar'
SELECT *
FROM dbo.PubLists
WHERE Name = @List
Jak to się robi w PostgreSQL? Czy da się to zrobić?
Odpowiedzi:
Pełna odpowiedź znajduje się w oficjalnej dokumentacji PostgreSQL .
Możesz użyć nowej funkcji blokowania anonimowego kodu PG9.0 ( http://www.postgresql.org/docs/9.1/static/sql-do.html )
Możesz również uzyskać ostatni identyfikator wkładki :
źródło
;
poEND $$
, tak:END $$;
.)ERROR: query has no destination for result data HINT: If you want to discard the results of a SELECT, use PERFORM instead. CONTEXT: PL/pgSQL function inline_code_block line 7 at SQL statement
źródło
:
jak w przypadku innych zmiennych. @ achilles-ram-nakirekanti, możesz dodać przykład używając tego wselect
oświadczeniu, aby było jaśniejsze?Możesz użyć:
To wystarczy
źródło
psql
konsoli. Nie będziesz w stanie zapisać tego w kodzie SQL swojej aplikacji.postgresql
i jest to najmniej najgorsza alternatywa. ogólniepostgresql
Oto przykład użycia zmiennej w plpgsql:
Zapoznaj się z dokumentacją plpgsql, aby uzyskać więcej informacji.
źródło
Natknąłem się na kilka innych dokumentów, których używają
\set
do deklarowania zmiennej skryptowej, ale wartość wydaje się być wartością stałą i znajduję sposób, który może działać jak zmienna, a nie zmienna stała.Dawny:
Oto
sal
wartość, która jest obecna w tabeli „emp” icomm
jest wartością stałą.źródło
Musiałem zrobić coś takiego
źródło
Postgresql nie ma pustych zmiennych, możesz użyć tabeli tymczasowej. zmienne są dostępne tylko w blokach kodu lub jako funkcja interfejsu użytkownika.
Jeśli potrzebujesz czystej zmiennej, możesz użyć tabeli tymczasowej:
źródło
Opierając się na odpowiedzi @ nad2000 i odpowiedzi @ Pavel tutaj , w tym miejscu znalazłem moje skrypty migracji Flyway. Obsługa scenariuszy, w których schemat bazy danych został ręcznie zmodyfikowany.
źródło
Oficjalnego klienta CLI „psql” można znaleźć tutaj . „PgAdmin3” 1.10 (nadal w wersji beta) ma „ pgScript ”.
źródło
Do wykorzystania zmiennych na przykład w tablicy alter:
źródło