Копирование информации из одной внутренней таблицы в другую. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Копирование информации из одной внутренней таблицы в другую.



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

Для заполнения внутренней таблицы используются 2 способа:

§ выбор множества строк непосредственно в тело внутренней таблицы

§ выбор единичных строк в рабочую область и затем добавление во внутреннюю таблицу

Выбор множества строк во внутреннюю таблицу

Для выбора множества строк непосредственно в тело внутренней таблицы используется дополнение into table в операторе select. Этот оператор берет выбранные строки и размещает их в тело внутренней таблицы за одну операцию, известную как «операция над массивом». При этом не нужны и не используются никакие рабочие области.

Операция над массивом (array operation) — любой оператор, который выполняет операцию над множеством строк внутренней таблицы за один раз. Операции над массивом всегда более эффективны, чем операции над одной строкой.

select into table — самый эффективный способ заполнить внутреннюю таблицу из таблицы базы данных.

Синтаксис дополнения into table оператора select:

(a) select *

(b) select f1 f2...

from dbtab into [corresponding fields of] table it.

где:

dbtab — имя таблицы базы данных

f1 и f2 — поля в таблице dbtab

it — имя внутренней таблицы

Особенности использования дополнения into table оператора select:

§ у it может быть строка заголовка (header line)

§ другие дополнения, такие как where и order by, могут следовать после it

§ endselect не используется с into table. select into table не запускает цикл, следовательно endselect не нужен

select into table помещает все выбранные строки непосредственно в тело it. Существующее перед заполнением содержимое it теряется.

Добавление по одной строке с использованием select

Использование select для добавления строк по одной требует использования рабочей области и второго оператора: append, insert или collect. Исключение из select дополнения table назначает строку на рабочую область. Обычно используют строку заголовка внутренней таблицы как явную рабочую область. Альтернативно можно использовать заданную по умолчанию рабочую область таблицы (определенную в tables).

33. Оператор select … into table, дополнения, особенности оператора.

select into table — самый эффективный способ заполнить внутреннюю таблицу из таблицы базы данных.

Синтаксис дополнения into table оператора select:

(a) select *

(b) select f1 f2...

from dbtab into [corresponding fields of] table it.

где:

dbtab — имя таблицы базы данных

f1 и f2 — поля в таблице dbtab

it — имя внутренней таблицы

Особенности использования дополнения into table оператора select:

§ у it может быть строка заголовка (header line)

§ другие дополнения, такие как where и order by, могут следовать после it

§ endselect не используется с into table. select into table не запускает цикл, следовательно endselect не нужен

select into table помещает все выбранные строки непосредственно в тело it. Существующее перед заполнением содержимое it теряется.

Запишите различные формы оператора select для заполнения внутренней таблицы в порядке убывания эффективности оператора.

Различные формы оператора select для заполнения внутренней таблицы

в порядке убывания эффективности оператора:

Оператор Пишет в
select into table it Body
select into corresponding fields of table it Body
select into it Header line
select into corresponding fields of it Header line

Управление процессом обработки с помощью оператора at first / endat.

Операторы at first и at last используются для выполнения обработки во время первого или последнего прохода цикла внутренней таблицы.

Синтаксис операторов:

loop at it.

---

At first.

---

Endat.

---

At last.

---

Endat.

---

Endloop.

где:

it — внутренняя таблица

--- — любое число строк программы

Особенности использования операторов:

§ Операторы могут использоваться только в loop at; они не могут использоваться в select

§ at first не обязан быть до at last (операторы могут использоваться в любом порядке)

§ Операторы могут использоваться многократно в одном и том же цикле, например, можно иметь два at first и три at last в одном и том же цикле, и они могут появиться в любом порядке

§ Эти операторы не должны быть вложены друг в друга

§ У этих операторов нет дополнений

at first используется для:

§ обработки инициализации цикла

§ записи общих количеств наверху отчета

§ записи заголовков

at last используется для:

§ обработки выхода из цикла

§ записи общих количеств внизу отчета

§ записи «подвала» (footings) отчета



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 100; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.61.119 (0.007 с.)