66
правок
Изменения
-- fix
<font color = blue>set</font> name = (<font color = blue>select</font> FirstName <font color = blue>from</font> Students <font color = blue>where</font> SId = id);
*После <font color = blue>default</font> {{-- -}} любое вычисляемое значение.
*В последнем примере мы присвоили переменной значение подзапроса.
*:В идеале должны получить единственное значение.
*:Если ничего не нашли {{-- -}} будет [[Хранимые процедуры и функции: операторы#Обработчики ошибок | not found]], если несколько {{--- }} что-то из них выберется и запишется в переменную.
== Select into ==
Метка до цикла может понадобиться для [[Хранимые процедуры и функции: операторы # Leave2C iterate | leave и iterate]].
Метка после end <loop_name> исключительно для программиста {{-- -}} по стандарту проверят, что метки совпадают.
=== While ===
== Обработчики ошибок ==
На самом деле блок <font color = blue>begin</font>/<font color = blue>end</font> {{-- -}} неявный "try". Мы можем определить обработчики. Для каждой ошибки может быть не более одного обработчика.
Синтаксис
<font color = blue>for</font> условие
оператор
*<font color = blue>continue</font> | <font color = blue>exit</font> | <font color = blue>undo</font> {{-- -}} тип обработчика. Соответственно: продолжить выполнение, выйти из блока, откатить изменения и выйти из блока.*условие {{-- -}} код ошибки. Синтаксис: sqlstate [value]. Есть зарезервированные и имеющие имена (можно использовать оба варианта):*:<font color = blue>sqlwarning</font> {{--- }} sqlstate 01xxx*:<font color = blue>not </font><font color = blue>found</font> {{--- }} sqlstate 02xxx*:<font color = blue>sqlexception</font> {{-- -}} sqlstate yyxxx*оператор {{--- }} код, который должен исполниться при возникновении ошибки.
Примеры: