русс | укр

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

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

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

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


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

Оператор insert select


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


Оператор insert select используется для копирования записей между таблицами.

Формат:

insert into Имя_таблицы
'(' Список_полей ')'
select Список_отбираемых_полей
from Список_таблиц
[ where Условие_отбора ];

Аргументы:

Аргумент Значение
Имя_таблицы Определяет таблицу, в которую вставляется запись.
Список_полей Определяет поля, в которые заносятся указанные ниже значения. Эти поля отделяются друг от друга запятыми.
Список_отбираемых_полей Задает поля, значения которых будут занесены в соответствующие поля очередной новой записи.
Список_таблиц Задает таблицы, из которых выбирается информация для вставки.
Условие_отбора Определяет, какие именно записи отбираются.

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

Оператор insert работает следующим образом: сначала выполняется запрос select ... from ... where и отбираются записи, на основе которых будут формироваться добавляемые записи. Затем для каждой найденной записи создается и заполняется новая запись, которая и заносится в таблицу.

Примеры работы с оператором

Для демонстрации работы оператора создадим таблицу NEW_BOOK, которую заполним данными из таблицы BOOK. При заполнении таблицы будем также использовать кодификатор.

if (table_exists('NEW_BOOK') > 0) drop table NEW_BOOK;

create table NEW_BOOK
(
ID dword,
AUTHOR char(100),
NAME char(100)
);

declare variable @nCode;
coderunload("AUTHOR");
@nCode = coderload("AUTHOR", 1, 3);

if (@nCode != 0)
{
drop table TMP;
create table TMP (MSG char(50));
insert into TMP (MSG) values (" Произошла ошибка" + @nCode);
fix all;
select * from TMP;
quit;
}



fix all;

insert into NEW_BOOK (ID, AUTHOR, NAME)
select ID, coder("AUTHOR", ID_AUTHOR), NAME
from BOOK;

select
ID as BKEY,
AUTHOR as AUTHOR,
NAME as BOOKNAME
from
NEW_BOOK;

 

Рисунок 1. Результата выборки


Продемонстрируем работу скрипта в случае ошибки, для чего укажем неверный номер поля, загружаемого в кодификатор в качестве значения:

if (table_exists('NEW_BOOK') > 0) drop table NEW_BOOK;

create table NEW_BOOK
(
ID dword,
AUTHOR char(100),
NAME char(100)
);

declare variable @nCode;
coderunload("AUTHOR");
@nCode = coderload("AUTHOR", 1, 35);

if (@nCode != 0)
{
drop table TMP;
create table TMP (MSG char(50));
insert into TMP (MSG) values (" Произошла ошибка" + @nCode);
fix all;
select * from TMP;
quit;
}



fix all;

insert into NEW_BOOK (ID, AUTHOR, NAME)
select ID, coder("AUTHOR", ID_AUTHOR), NAME
from BOOK;

select
ID as BKEY,
AUTHOR as AUTHOR,
NAME as BOOKNAME
from
NEW_BOOK;

 

Рисунок 2. Ошибка при работе с кодификатором

 



<== предыдущая лекция | следующая лекция ==>
Работа с кодификаторами | Оператор добавления записи в таблицу insert values


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


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

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

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


 


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

 
 

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

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