Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 219
от 11.02.2007, 19:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 403, Экспертов: 63
В номере:Вопросов: 1, Ответов: 4


Вопрос № 74433: Здравствуйте, уважаемые эксперты! Есть база данных - примерно 300 таблиц с содержимым... Структуру БД (именно этой, то есть, кто за что отвечает) плохо себе представляю... Управляется скриптом. Знаю, что при создании объектов, данные сохраняются ...

Вопрос № 74.433
Здравствуйте, уважаемые эксперты!
Есть база данных - примерно 300 таблиц с содержимым... Структуру БД (именно этой, то есть, кто за что отвечает) плохо себе представляю... Управляется скриптом. Знаю, что при создании объектов, данные сохраняются в БД. Но таблиц ТАК много и они ТАКИЕ большие, что найти только что добавленные данные весьма проблематично и долго... Напрашивается простое решение проблемы: после каждого добавления делать запрос в БД по добавленном данным и таким образом определять таблицу, в которую были добавлены данные... Вся задача в том, какой запрос надо делать... Допустим, если я знаю, что только что добавил строку "string", то запрос должен быть вроде "SELECT "string" FROM "все таблицы". Но это, так сказать, образно... А как на самом деле должен выглядеть запрос....
Заранее спасибо!!

Приложение:

Отправлен: 06.02.2007, 16:46
Вопрос задал: WolandV (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Архангельский Андрей Германович
Здравствуйте, WolandV!

1) Разоаботчика ЭТОЙ БД повесить за .....
2) Эти проблемы решаются при создании БД - другим способом нельзя.
3) Одним запросом выбрать строку из ВСЕХ таблиц нельзя, но как правило можно получить списой таблиц в БД и последовательно перебрать все таблицы:

Select * from Table1 where field="string";
Select * from Table2 where field="string";
.....

В Firebird список таблиц лежит в таблице RDB$Relations, в других БД нужно искать что-нибудь подобное.
Следует учесть, что строка таблицы и строка поиска не одно и тоже. И часто при вставке текстовой строки в таблицу добавляется целое число (идентификатор) - как при этом искать?
Выход - проанализировать структуру БД и модернизировать, добавив протоколирование операций.
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 06.02.2007, 17:22

Отвечает: Игорь Елизаров
Не, если Вы добавляете запись в таблицу, то это запрос INSERT a не SELECT
поэтому попробуйте найти именно это волшебное слово

Ответ отправил: Игорь Елизаров (статус: 9-ый класс)
Ответ отправлен: 06.02.2007, 20:51

Отвечает: Химяк Виктор Васильевич
Здравствуйте, WolandV!
Действительно с вопроса трудно понять, какая БД. Попробуйте воспользоваться таким вот инструментом: IBExpert. Если ваш сервер поддерживается этой программой, попробуйте включить протоколирование изменений. Прога русифицированная, бесплатная.
http://www.ibexpert.com/rus/
Ответ отправил: Химяк Виктор Васильевич (статус: 2-ой класс)
Ответ отправлен: 06.02.2007, 21:45

Отвечает: Барков Илья Андреевич
Здравствуйте, WolandV!
select table1.string,table2 from table1,table2 ... ( ... where table1.string="ASD")

или
select string from table1
union
select string from table2
Ответ отправил: Барков Илья Андреевич (статус: 8-ой класс)
Ответ отправлен: 06.02.2007, 23:30


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.44 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное