|
west_nester
|
||||||
Перегнать данные из любого файла с разделителями в таблицу базы данных (без повторов)24.11.2012, 22:44. Показов 2940. Ответов 1
Метки нет (Все метки)
Здравствуйте. В университете дали задание по sql. СУБД Oracle.
Необходимо перегнать данные из любого файла с разделителями в таблицу базы данных. Я это научился делать средствами sql loader-a. Но нужно не просто перегнать, а также написать запрос, чтобы исключить строки с повторяющимся значением. С этим то и проблема. Нужна консультация либо платное выполнение задания. Думаю, рублей 300 - нормальная цена, т.к. для специалиста - ничего сложного. Итак, суть в слудеющем: Есть таблица Users. В этой таблице поле id формируется с помощью последовательности.
Из файла с разделителями, в котором содержатся данные о пользователях сделать автоматическую запись этих данных в таблицу users. Автоматическая - это автообновление таблицы через какой-то промежуток времени. Сделать нужно всё внутренними средствами Oracle. Чего я пока достиг: научился с помощью Sqlloader-a перегонять данные из файла .dat в какую-нибудь таблицу. Потом запускаю bat файл, который вызывает sqlldr. В моем файле .dat записи содержатся в следующем виде: Susan,admin,admin,admin,susan@ru, David,manager,dave21,dave21,dav@em, Jill,manager,jillie,jillie,jil@il.ru, Victoria,user,vicki,vicki,i@gmai, Donald,user,dondon,dondon,dmai@u, Huenald,user,dondon,dondon,dmai@u, Hueria,user,vicki,vicki,i@gmai, Проблема в следующем: мне нужно, чтобы данные в таблицу users добавлялись с учетом email-a, указанного в dat-файле. Тоесть если изначально в нём две строки с одинаковым email, то информация в полях name, role,login,password в таблице должна соответствовать последней строке dat-файла. Если в dat-файл добавляется строка с новым email-ом, то эта строка должна быть добавлена в таблицу users. А если не с новым, то информация в полях name, role,login,password в таблице в таблице должна обновиться. Как я представляю решение: необходимо создать временную таблицу, в неё перегнать все данные из .dat файла (это я могу сделать), далее написать sql-запрос на обновление таблицы users данными из временной таблицы с учетом email-a (основная проблема). Далее в bat файле прописать создание и удаление этой временно таблицы, вызов sql loader-a и далее вызов файла с sql запросом. И организовать автоматический вызов bat файла средствами windows. |
||||||
| 24.11.2012, 22:44 | |
|
Ответы с готовыми решениями:
1
Вытащить данные из базы данных в таблицу Выбирать из базы без повторов за сессию INSERT INTO не заносятся данные в таблицу базы данных |
|
14 / 14 / 0
Регистрация: 25.10.2012
Сообщений: 44
|
|||||||||||
| 26.11.2012, 12:31 | |||||||||||
|
Не стоит создавать триггер, только для того, чтобы записывать в таблицу следующее значение последовательности.
В процедуре сразу можно сделать так: insert into users values(userid_generator.nextval,'1','1', '1','1','1'); Из вашего сообщения не совсем понятно, когда нужно вставлять строку, а когда апдейтить уже существующую. Добавлено через 48 минут Если я правильно понял, то можно вот так сделать:
Если решите сделать временную таблицу и залить в нее данные, то цикл не понадобится, тут хватит команды MERGE. Добавлено через 4 часа 14 минут Вариант, который предложил автор сообщения: закинуть данные из файла во временную таблицу. Допустим, у вас есть таблица users_temp - это та таблица, в которую вы закинули данные из файла. users_temp имеет туже самую структуру, что и users, только столбец id здесь будет номером строки из файла, это необходимо, чтобы обработать строки с одинаковым email и взять ту, у которой порядковый номер больше. Вот пример с MERGE:
0
|
|||||||||||
| 26.11.2012, 12:31 | |
|
Помогаю со студенческими работами здесь
2
Не могу вывести данные из базы данных в таблицу Добавить в таблицу Базы Данных данные из таблицы DataSet Заполнять таблицу (без повторов). Маленькая скорость Как добавить новые данные в таблицу базы данных через textBox? Возможно ли перегнать данные из текстового файла по ячейкам в Excel? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|