Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL97-4E.DOC
Скачиваний:
3
Добавлен:
05.11.2018
Размер:
3.3 Mб
Скачать

4.6. Вставка результатов запроса в другую таблицу

Результаты запроса могут служить исходными данными для модификации - добавления новых строк в какую-либо существующую таблицу. Реализуется эта возможность совместным использованием команд INSERT и SELECT.

INSERT INTO <имя таблицы> [ (список полей) ]

SELECT (<список полей>)

FROM <имя таблицы>

[ WHERE <условия отбора> ]

Примечание: в FoxPro данная возможность не поддерживается.

Например, дополнение таблицы Teacher, содержащей список преподавателей, строками, содержащими коды преподавателей, которые имеются в таблице Subject, но отсутствуют в Teacher , возможно посредством следующей команды:

INSERT INTO Teacher (Nteach)

SELECT Nteach FROM Subject

WHERE NOT EXIST

( SELECT * FROM Teacher

WHERE Subject.Ntech=Teacher.Nteach )

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

Список использованной литературы

1. Романов Б.А., Кушниренко А.С. dBase IV. Назначение, функции, применение. М.: Радио и связь, 1991. 334 с.

2. Бемер С. FoxPro 2.5 для Windows: Пер. с нем. К.: Торгово-издательское бюро BHV, 1994. 416 с.

3. Грабер М. Введение в SQL: Пер.с англ. - М.: Лори, 1996. 375 с.

4. Кукуруза П.В. Реляционный язык SQL // Компьютеры+Программы, N3(4). 1993. С. 4-12.

5. Дейт К. Руководство по реляционной СУБД DB2 / Пер. с англ. и предисл. М.Р.Когаловского. М.: Финансы и статистика, 1988. 320 с.: ил.

Приложение 1

Таблица 1.1. Типы данных, допустимые в стандарте ANSI SQL

Тип данных Описание

Текстовый тип

CHAR или CHARACTER Строка текста. Аргумент размера - натуральное число, задающее максимальную длину строки.

Числовые типы

INT или INTEGER Целое число. Аргумент размера не используется (зависит от способа реализации).

SMALLINT Совпадает с INTEGER, за исключением того, что для этого типа размер может быть меньше, чем для типа INTEGER.

DEC или DECIMAL Десятичное число, которое может иметь в своем представлении десятичную точку. Аргумент размера имеет две части: точность (количество значащих десятичных разрядов) и масштаб (максимальное число разрядов справа от десятичной точки).

NUMERIC Совпадает с DECIMAL, но максимальное количество разрядов не может превышать значения точности.

FLOAT Число с плавающей точкой, представленное в экспоненциальной форме. Аргумент размера имеет единственное значение, задающее минимальную точность.

REAL Совпадает с FLOAT, за исключением того, что точность не указывается и зависит от конкретной реализации.

DOUBLE или

DOUBLE PRECISION Совпадает с REAL, за исключением того, что точность конкретной реализации может быть превышать точность для REAL.

Таблица 1.2. Типы данных, допустимые в FoxPro 2.6 для Windows

Тип данных Описание

CHARACTER Аналог типа ANSI SQL с тем же названием. Длина поля от 1 до 254 символов.

NUMERIC Аналог типа ANSI SQL с тем же названием. Длина поля от 1 до 20 позиций, включая знак числа и десятичную точку, если они есть.

FLOAT Аналог типа ANSI SQL с тем же названием. Длина поля от 1 до 20 позиций, включая знак числа и десятичную точку, если они есть.

DATE Дата/время. Длина поля стандартная - 8.

LOGICAL Истина(T)/Ложь(F). Длина поля стандартная - 1.

MEMO Поле примечаний. Длина поля стандартная - 10.

GENERAL Поле ссылки на объект. Длина поля стандартная - 10.

Примечание: стандартные языковые средства SQL в СУБД FoxPro допускают обработку только полей первых четырех типов. В примерах, приводимых в пособии, используются только первые два типа полей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]