Використання циклів і операторів розгалуження в збережуваних процедурах

Основна проблема використання конструкції SELECT в збережуваних процедурах полягає в тому, що результуючий набір даних, який повертає SELECT є, як правило, таблиця з множиною рядків і стовпців, а вбудована в SQL процедурна мова не має засобів, які б дозволяли оперувати одночасно більш ніж одним записом. Тобто, якщо нам потрібно сформувати запит, який повертатиме один ря'док, для цього використовується SELECT, який має наступний формат:

SELECT {*|<Список полів>}
FROM <Список таблиць>
[WHERE <Критерій відбору>]
INTO змінна [, змінна,...];

Очевидно, що даний варіант конструкції SELECT відрізняється від стандартного наявністю фрази INTO після якої слюдує список змінних.

Приклад: написати процедуру, яка повертає кількість автомобілів, які містяться в таблиці Cars.

Читати повністю

Використання збережуваної процедури в SQL

Збережувана процедура — це частина метаданих бази даних, що представляє собою відкомпільовану у внутрішнє представлення InterBase підпрограму, написану спеціальною мовою, компілятор якої вбудований у ядро сервера InterBase.

Основою могутніх можливостей, закладених у збережувану процедуру, є процедурна мова програмування, що має у своєму складі як модифіковані речення звичайного SQL, такі, як INSERT, UPDATE і SELECT, так і засоби організації розгалужень і циклів (IF, WHILE), а також засоби обробки помилок і виняткових ситуацій. Мова збережуваних процедур дозволяє реалізувати складні алгоритми роботи з даними, а завдяки орієнтованості на роботу з реляційними даними збережувані процедури виходять значно компактнішими аналогічних процедур на традиційних мовах.

Існують два типи збережуваних процедур:

  1. Процедури вибору: як результат своєї роботи повертають набір даних або повідомлення про помилку.
  2. Процедури дії: за загальним призначенням не відрізняються від процедур (підпрограм) в алгоритмічних мовах, таких як Паскаль, основна відмінность полягає в синтаксисі мови і здійснюють з базою даних деяку дію.

Обидва типи збережуваних процедур створюються командою CREATE PROCEDURE, яка має наступний формат:

Читати повністю

SQL оператор UPDATE. Редагування записів в базі даних

Під редагування даних розуміють зміну значень полів у таблиці бази даних. Воно виконується оператором UPDATE, який має наступний формат:

UPDATE <Ім'я таблиці> SET <Ім'я поля> = <Значення>,..., <Ім'я поля> = <Значення> [ WHERE <Критерій відбору>];

Після виконання оператора UPDATE для всіх записів, які відповідають заданому критерію відбору, змінюється значення полів.

Розглянемо деяку таблицю Cars, яка містить інформацію про автомобілі:

Оператор update

В даній таблиці змінимо значення поля Model для рядка, значення поля Kod якого дорівнює одиниці. Для цього запишемо наступний SQL запит:

Читати повністю