Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Извлечение данных и инструкция SELECT INTO

Извлечение данных и инструкция SELECT INTOОдним из главных преимуществ внедренного SQL является способность извлекать информацию с сервера баз данных, помещать ее в управляющую переменную и использовать ее в главной программе. Для выполнения этой задачи используется особая разновидность инструкции SELECT — SELECT INTO. Ее синтаксис во многом подобен обычной инструкции SELECT; главное отличие заключается в том, что в предложении INTO задается управляющая переменная, в которую помещается результирующий набор данных — он не передается на стандартное устройство вывода. Инструкция SELECT INTO имеет ряд ограничений, однако в общем случае она позволяет выполнять подавляющее большинство операций, на которые способна обычная инструкция SELECT, в том числе группировку, консолидацию и т. п. (инструкция SELECT подробно рассматривалась в главе 8). Количество столбцов, перечисленных в предложении SELECT, должно соответствовать количеству управляющих переменных в предложении INTO; они также должны иметь совместимые типы данных. Также запрос должен возвращать одну, и только одну, строку; в противном случае будет сгенерирована ошибка СУБД TOO MANY ROWS (слишком много строк) или NO DATA FOUND (данные не найдены). Предполагая, что объявлены необходимые управляющие переменные (см. предыдущий пример), следующая инструкция SELECT INTO извлекает столбцы CUST_ID_N и CUST_NAME_S из таблицы CUSTOMER базы данных ACME для клиента с псевдонимом MNGA71396 (использован синтаксис COBOL). Управляющие переменные, использованные в данной инструкции SQL, является Выходными. В одной инструкции SELECT можно одновременно использовать входные и выходные управляющие переменные. Инструкция select into может пригодиться во многих ситуациях, однако с одним у серьезным ограничением — она может вернуть только одну строку была представлена концепция курсора. С курсором можно выполнить четыре основные операции: declare, open, fetch и close. В инструкциях fetch и close можно использовать как входные, так и выходные переменные.