Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
conspect.pdf
Скачиваний:
374
Добавлен:
17.03.2016
Размер:
27.86 Mб
Скачать

Базы данных

БГУИР, ПОИТ

 

 

6.1.16.SELECT: [PROCEDURE procedure_name(argument_list)]

Указание процедуры, которая обработает результаты запроса.

Единственным примером, указанным в руководстве по MySQL, является использование ANALYSE:

http://dev.mysql.com/doc/refman/5.5/en/procedure-analyse.html

Все попытки «скормить» MySQL другие хранимые процедуры, которые прекрасно работают через CALL, в этом контексте приводят к сообщению типа:

ERROR 1106 (42000): Unknown procedure 'Proc';

Здесь http://stackoverflow.com/questions/8290157/calling-a-user-defined-

storedprocedure-from-select-statement-mysql

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

Стр: 169/248

Базы данных

БГУИР, ПОИТ

 

 

6.1.17.SELECT: [INTO OUTFILE …]

Экспорт результатов выборки в выходной файл. Быстрый способ «выгрузить» результаты выборки для дальнейшего анализа.

Быстрый способ выгрузить таблицу в CSV-файл:

Исходная таблица

Запрос

Результат

SELECT * FROM `payment_with_date` INTO OUTFILE 'c:/file2.csv' CHARACTER SET 'latin1' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'

Стр: 170/248

Базы данных

БГУИР, ПОИТ

 

 

6.1.18.SELECT: [INTO DUMPFILE …]

Экспорт одного значения («одной ячейки») выборки в выходной файл. Быстрый способ «выгрузить» из БД бинарные данные.

Пример выгрузки картинки, бинарного документа и т.п.

Исходная таблица

Запрос

Результат

SELECT `doc_data` FROM `storage` WHERE `doc_id`=1 INTO DUMPFILE 'c:/pic.jpg'

Стр: 171/248

Базы данных

БГУИР, ПОИТ

 

 

6.1.19.SELECT: [INTO var_name [, var_name]]]

Экспорт значений одного или нескольких полей в переменные для использования в последующих запросах. Запрос, результаты которого экспортируются в переменные, должен возвращать ОДИН ряд.

Иногда удобно предварительно подготовить данные в переменных, а затем использовать эти переменные в запросе:

Исходная таблица

Запрос

Результат

SELECT MAX(`money`), MIN(`money`)

FROM `payment_archive`

INTO @max, @min;

SELECT `name`, `money` from `payment_archive` where `money` = @max OR `money` = @min

ORDER BY `money` DESC;

Стр: 172/248

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