Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Помогите с заданием


Автор: Кли 9.3.2018, 13:12
5.2.2 Написать запрос, выводящий в текстовый файл содержимое таблицы PRODUCTS, причём так, чтобы файл содержал в качестве строк операторы INSERT на вставку соответствующей строки таблицы PRODUCTS. Сформированный файл можно использовать для переноса данных в другую схему (на другой компьютер).
Код

SELECT 'INSERT INTO PRODUCTS (MANUFACTURER, CODE, DESCRIPTION, PRICE, LIMIT) 
VALUES ('''  || MANUFACTURER ||''', ''' || CODE ||''', ''' || DESCRIPTION ||''', '|| PRICE || ', '||LIMIT||');' AS F FROM PRODUCTS;

5.2.3 Помогите с заданием:
 Сделать тоже самое, что и в задании 5.2.2, но рассчитанное на произвольную таблицу и возможность применения ограничивающего условия на включаемые в файл переноса строки таблицы.

Автор: Кли 11.3.2018, 23:07
Цитата(Кли @  9.3.2018,  13:12 Найти цитируемый пост)
но рассчитанное на произвольную таблицу 

Надо создать таблицу или не обязательно?

Автор: Akina 12.3.2018, 09:31
1) Указывайте СУБД (в т.ч. версию).
2) Решение в формате ЗАПРОСА потребует обращения к таблице схемы и парсинга списка полей. Преобразование списка полей и списка значений в строку INSERT-запроса можете сделать, используя FOR_XML. С учётом необходимости учитывать различные типы полей (в т.ч. уникодность строковых) решение в форме одного запроса мне кажется малореальным (ну то есть оно, конечно, реально, но такой трындец получится...), лучше реализовывать решение динамическим SQL в рамках хранимой процедуры.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)