русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор UPDATE


Дата добавления: 2015-07-09; просмотров: 514; Нарушение авторских прав


Оператор UPDATE в стандарте SQL-92 имеет следующее формальное описание:

UPDATE table_name
SET { field = { expr | NULL | DEFAULT }} .,…
[ { WHERE condition }
| { WHERE CURRENT OF cursor_name } ];

Оператор UPDATE применяется для внесения изменений в данные таблиц.

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

При вычислении значений столбцов можно применять условное выражение CASE и выражение CAST для приведения типов.

Например:

SELECT f1, CAST (f2 AS CHAR), CAST (f3 AS CHAR) from tbl1;
UPDATE tbl2 SET f2 = (SELECT CAST (f2 AS CHAR) from tbl1
WHERE f1=1);
UPDATE tbl2 SET f5 = (SELECT CAST (f5 AS DATE) from tbl1
WHERE f1=1),
f6= CAST ('10/12/2003' AS DATE);

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

Условное выражение CASE имеет следующее формальное описание:

{ CASE
{ expr WHEN expr THEN { expr | NULL }} …
| { WHEN expr THEN { expr | NULL }} …
[ ELSE { expr | NULL } ]
END}
| { NULLIF {expr1,expr2) }
| {COALESCE (expr .,…) }

Условное выражение CASE может быть записано, соответственно, в четырех формах:

  • CASE с выражениями. Например:

SELECT f1, CASE f3 'abc' THEN '1_abc' END FROM tbl1;

  • CASE с предикатами. Например:

SELECT f1, CASE WHEN f3= 'abc' THEN '1_abc' ELSE f3 END FROM tbl1;

  • NULLIF - если выражения, указанные в скобках не совпадают, то выбирается первое из этих значений, в противном случае устанавливается значение NULL. Например:

UPDATE tbl2 SET f3 = (SELECT NULLIF (f3,'aaa') FROM tbl1 WHERE f1=1);

  • COALESCE - выбирается первое значение в списке, не равное NULL. Например:

INSERT INTO tbl1(f1,f2)
VALUES (1+ COALESCE(SELECT MAX(f1)
FROM tbl1, 0
), 100);



Для успешного выполнения оператора UPDATE требуется ряд условий, включая следующие:

  • наличие соответствующих привилегий;
  • для представления требуется определение его как изменяемого;
  • при изменении представлений применяются ограничения WITH CHECK OPTION или WITH CASCADED CHECK OPTION, установленные при создании этого представления;
  • в транзакциях "только чтение" изменение доступно только для временных таблиц;
  • выражения, используемые для определения значений, не могут содержать подзапросы с агрегирующими функциями;
  • для обновляемого курсора, указанного фразой FOR UPDATE, каждый изменяемый столбец также должен быть определен как FOR UPDATE;
  • в курсоре с фразой ORDER BY нельзя выполнять изменение столбцов, указанных в этой фразе.


<== предыдущая лекция | следующая лекция ==>
Оператор INSERT | Оператор CREATE VIEW


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.616 сек.