Блок анонимного кода PostgreSQL с DO

Blok Anonimnogo Koda Postgresql S Do



PostgreSQL предлагает блоки кода, в которых вы можете выполнять сложные задачи, включая создание циклов, вычислений и других запросов SQL. Структура блока соответствует определенному формату, а ключевое слово DO символизирует начало блока кода до тех пор, пока не встретится ключевое слово END. Эта блочная структура — отличный способ работы с анонимными блоками кода для выполнения различных задач в вашей базе данных. Мы обсудим различные примеры работы с анонимным кодом PostgreSQL с помощью Do, чтобы вы освоились с ним. Давай начнем!

Понимание структуры блоков кода PostgreSQL

Блок кода в PostgreSQL имеет следующий синтаксис:

ДЕЛАТЬ [метка]

ДЕКЛАРАЦИЯ [заявления]

НАЧАТЬ [заявления]

ИСКЛЮЧЕНИЕ [обработчик]

КОНЕЦ [метка] ;

В разделе DECLARE вы объявляете переменные, которые хотите использовать с блоком кода. В разделе BEGIN вы выполняете такие действия, как запросы SQL. Это обязательный раздел в блоке кода. Наконец, исключение используется при определении способа обработки ошибок. Ключевое слово END показывает конец блока. Метка представляет анонимный блок.







Примеры блоков анонимного кода PostgreSQL

Поняв структуру, давайте приведем различные примеры ее реализации.



Пример 1: простой блок кода

В этом примере показан блок кода без переменных, который отображает только сообщение пользователю с помощью инструкции RAISE NOTICE.



В PostgreSQL ваш блок кода будет выполняться мгновенно при нажатии клавиши «Enter».





Пример 2: Анонимный блок кода

В первом примере мы не добавляли анонимный блок кода. В таком случае предполагается, что весь блок анонимен, и внутри него не может быть полублока, поскольку у вас не будет возможности ссылаться на него.



В следующем примере создается «main_block». Обратите внимание, что вы должны заключить его, как показано в следующей структуре блока:

Более того, при добавлении ключевого слова END необходимо указать имя завершающего анонимного блока кода.

Пример 3. Анонимный блок кода с переменной

Работа с переменными удобна внутри блока кода. Переменные объявляются в разделе DECLARE. Хотя вы можете инициализировать их в одном блоке, в большинстве случаев вам потребуется инициализировать их в разделе BEGIN.

Вы можете ссылаться на переменные, указав имя анонимного блока кода, в котором они были инициализированы. Таким образом, если у вас много блоков, например родительский и дочерний, у вас не возникнет путаницы переменных, которая приведет к ошибкам.

При объявлении переменных вы должны добавить тип переменной, чтобы PostgreSQL понимал, какие данные следует ожидать и хранить в этой переменной. В этом примере у нас есть целочисленная переменная. Мы увеличиваем его значение и печатаем сообщение на терминал.

Пример 4. Анонимный блок кода PostgreSQL, работающий с таблицей

Если в вашей базе данных есть таблицы, вы можете запустить запрос, чтобы получить ссылку на значения в вашей таблице. Например, в этом примере для справки используется следующая таблица:

Мы создаем запрос SELECT внутри нашего блока кода, чтобы получить значение данной записи, соответствующее указанному условию. Затем извлеченное значение сохраняется в объявленной переменной, и печатается сообщение, показывающее полученное значение.

Тем не менее, к таблицам можно запустить запрос, который создаст таблицу и вставит в нее значения. Посмотрите, как следующий блок анонимного кода PostgreSQL создает таблицу с именем «new_1» и выполняет запрос на вставку. Запрос выполняется успешно.

Когда мы проверяем доступные таблицы в базе данных, мы видим, что таблица была создана. Более того, проверив его записи, мы получаем те же самые, что вставили в блок кода. В идеале вы можете запустить любой SQL, при условии, что он корректен и его значения фиксируются должным образом.

Пример 5: Работа с анонимным кодом подблока

Иногда может возникнуть ситуация, когда вам понадобится внешний блок, родительский блок и другие подблоки внутри него. Ваш код определяет, как будет работать подблок. Опять же, у вас может быть внешний блок, который имеет то же имя переменной, что и подблок. При ссылке на переменную необходимо указать блок-владелец.

В следующем примере у нас есть «parent_block» в качестве внешнего блока. Мы добавляем еще разделы DECLARE и BEGIN для хранения подблока. Более того, ключевое слово END используется дважды для закрытия внутреннего и внешнего блоков.

Вот как вы работаете с подблоками в анонимных блоках кода PostgreSQL.

Заключение

Как пользователь PostgreSQL, вы должны понимать анонимные блоки кода и способы их использования. Понимание, изложенное в этом руководстве, и примеры — это простое руководство, которое поможет вам лучше понять. Продолжайте практиковаться в примерах, и вскоре вы освоитесь с анонимными блоками кода PostgreSQL.