Простой интерпретатор скриптов PostgreSQL. Примеры применения. Примеры 5 и 6

На предыдущую страницу…

Пример-5. Условный оператор IF

-- Создать временную таблицу scr_pg_vars_tt999 для хранения значений переменных скрипта
select * from script_pg_vars_table_tmp_create();

-- Создать численную переменную Сумма
select * from script_pg_var_as_float_set('Сумма', 0);

-- Выполнить скрипт
select * from script_pg_execute
('
i := 0;
WHILE i<20 DO
  i:=i+1;
  IF I<=10 THEN
     Сумма := Сумма + 1;
  END_IF;
END_WHILE;
');

-- Посмотреть значения переменных после выполнения скрипта
select * from scr_pg_vars_tt999 order by var_name;

-- Удалить временную таблицу scr_pg_vars_tt999 для хранения значений переменных скрипта
-- select * from script_pg_vars_table_tmp_drop();

Результат выполнения команды: select * from scr_pg_vars_tt999 order by var_name;


Пример-6. Условный оператор IF … ELSE …

-- Создать временную таблицу scr_pg_vars_tt999 для хранения значений переменных скрипта
select * from script_pg_vars_table_tmp_create();

-- Создать численную переменную Сумма1
select * from script_pg_var_as_float_set('Сумма1', 0);

-- Создать численную переменную Сумма2
select * from script_pg_var_as_float_set('Сумма2', 0);

-- Выполнить скрипт
select * from script_pg_execute
('
i := 0;
WHILE i<20 DO
  i:=i+1;
  IF I<=5 THEN
     Сумма1 := Сумма1 + 1;
  ELSE
     Сумма2 := Сумма2 + 1;
  END_IF;
END_WHILE;
');

-- Посмотреть значения переменных после выполнения скрипта
select * from scr_pg_vars_tt999 order by var_name;

-- Удалить временную таблицу scr_pg_vars_tt999 для хранения значений переменных скрипта
-- select * from script_pg_vars_table_tmp_drop();

Результат выполнения команды: select * from scr_pg_vars_tt999 order by var_name;


Дата: 03.05.2022