![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти "крючек" в БД (MS SQL Server 2005)
Kostafey © (2007-12-10 21:37:00)Часто такая задача появляется.
Есть БД. Нужно найти какой-нибудь там 'МП-600'.
Т.е. определить в каком поле какой таблицы есть
такое значение.
Есть способ автоматизировать такой поиск?
Германн (2007-12-11 09:26:00) [1]
> Anatoly Podgoretsky © (11.12.07 09:00) [15]
>
О уже и до хокку дошли!
Тогда это был бы японский поэт с чукотским акцентом.
:)
Anatoly Podgoretsky (2007-12-11 09:00:00) [2]Неправда, вот если бы
Сделай поиск в Интернет.
Не смотри в справке это нет.
Тяжел дорога программисту.
Германн (2007-12-11 08:48:00) [3]
> Anatoly Podgoretsky © (10.12.07 23:30) [11]
>
...
>
> Не смотри в справке нет.
> Сделай поиск в Интернет.
>
Поэт, однако. :)
KSergey (2007-12-11 08:42:00) [4]После того, как пресловутый 'МП-600' будет найден - советую заняться документированием структуры БД. И как можно срочнее.
wicked (2007-12-11 00:12:00) [5]полностью поддерживаю предыдущих ораторов :)
а вот конкретика, как бы делал я - читаем BOL на предмет таблиц sysobject и syscolumn, а также о том, как работать с курсорами (никогда не помнил)
потом нужный скрипт в QA пишется минут за 10 - 30
Anatoly Podgoretsky (2007-12-10 23:30:00) [6]> Kostafey (10.12.2007 23:23:10) [10]
Не смотри в справке нет, сделай поиск в Интернет.
Kostafey (2007-12-10 23:23:00) [7]> [7] Sergey Masloff (10.12.07 22:44)
Я думал про это, но выглядит неказисто :)
> [9] Anatoly Podgoretsky © (10.12.07 22:49)
> sp_MSforeachtable итерация по всем таблицам, список полей
> в таблице также доступен.
Понял, спасибо, смотрю по справке.
Anatoly Podgoretsky (2007-12-10 22:49:00) [8]sp_MSforeachtable итерация по всем таблицам, список полей в таблице также доступен.
Sergey Masloff (2007-12-10 22:47:00) [9]Только не исключаю что если этих МП там много то там что-то типа
SERIES | NUM
МП | 600
МП | 700
МП | 800
МР | 600
и далее по списку
Sergey Masloff (2007-12-10 22:44:00) [10]Я просто не понимаю затруднений. Я не MS SQLЩик но решение же в лоб - лезем в словарь достаем имена всех таблиц в цикле потом по каждой перебираем поля если поле строковое то составляем строку запроса
select * from TABLE_N where FIELD_M like %'МП-600'% (эффективность ниже плинтуса сразу предупреждаю)
И выполняем эту сгенерированную строку. Синтаксис для MS SQL не подскажу но из документации даже я не работающий с ним за 10 минут найду.
Kostafey (2007-12-10 22:37:00) [11]> [5] Petr V. Abramov © (10.12.07 22:26)
> > но пректировщик БД, действительно не доступен по сотовому
> уже 1,5 дня
> ну это нормально, правда, я не знаю ваши понимания о перманентности
> недоступности :)
Та плин, ну харе подкалывать.
Я к тому, что не дргать же проектировщика из-за каждого крючка,
ну сменил человек работу, ну и молодчик, флаг ему в руки,
а мне тоже надоедает методом научного тыка все искать. :)
Petr V. Abramov (2007-12-10 22:26:00) [12]> но пректировщик БД, действительно не доступен по сотовому уже 1,5 дня
ну это нормально, правда, я не знаю ваши понимания о перманентности недоступности :)
Kostafey (2007-12-10 22:23:00) [13]Со всеми согласен, но пректировщик БД,
действительно не доступен по сотовому уже 1,5 дня
(правда, я надеюсь он в добром здравии).
Описание структуры БД отсутствует.
> [1] Sergey Masloff (10.12.07 21:59)
> Способы-то есть.
Может-таки подскажете?
Petr V. Abramov (2007-12-10 22:10:00) [14]
> Sergey Masloff (10.12.07 21:59) [1]
Сергей, полностью согласен.
Но бывает ситауция, когда, аффтар базы выпил йод и более недоступен.
С т.з. проектирования приложения - вопрос дурной
С т.з. "а куда я попал" - правильный
tesseract (2007-12-10 22:08:00) [15]Вспоминая "Кронос"? Который на каждый запрос давал строго определенный результат - ненужный.
Sergey Masloff (2007-12-10 21:59:00) [16]Способы-то есть. Только смысл? Базы данных не для того придуманы чтобы искать не знаю что не знаю где. То есть если автор базы не знает в какой таблице и в каком поле искать нужное то ему проще сразу выпить йаду и не мучать себя и окружающих.