Подтвердить что ты не робот

Какова цель pgScript в PostgresSQL?

Я новичок в PostgreSQL. Я не понял, что нужно для pgScript, который может быть выполнен с помощью инструмента pgAdmin. Когда он должен использоваться? Что он может сделать, что plpgSQL не может сделать? Что эквивалентно этому в Microsoft SQL Server?

4b9b3361

Ответ 1

pgScript - это язык сценариев на стороне клиента, в то время как pl/PgSQL работает на сервере. Это означает, что они имеют совершенно разные варианты использования. Например, PgScript может управлять статусом транзакции, пока PL/PgSQL не может, но pl/Pgsql можно использовать для расширения языка SQL, в то время как pgScript не может этого сделать.

Кроме того, это означает, что два будут обрабатывать многие другие вещи совсем по-другому, начиная от планов запросов и заканчивая динамическим SQL, а в то время как pgScript требует взаимных отключений между запросами pl/Pgsql не делает.

Ответ 2

Одно использование для pgScript - это определение переменных и использование их позже в ваших SQL.

Например, вы можете сделать что-то вроде этого:

declare @mytbl, @maxid; 
set @mytbl = 'sometable'; 
set @maxid = 2500; 
set @res = select count(*) from @mytbl where id <= @maxid;
print @res;

Этот подход состоит в том, чтобы просто иметь любые переменные, которые вы хотите изменить в верхней части вашего script, а не те, которые глубоко погружены в сложные SQL-запросы.

Конечно, pgScript - это функция, доступная только внутри клиента PgAdmin III, такого как @{Craig Ringer}, упомянутого в его комментарии.

Ответ 3

Я использовал генератор DDL script от Toad Data Modeler.

Я запускал script с помощью выполнения обычного запроса в PgAdmin-III, но он продолжал давать мне ошибку:
"ОШИБКА: отношение" пользователь "уже существует Состояние SQL: 42P07".

Я выполнил Execute pgScript в PgAdmin-III, и он работал нормально.