Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
В базе более 1000 таблиц, необходимо найти определенную последовательность символов. Как это сделать???
21 сен 05, 08:37    [1896515]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
В базе более 1000 таблиц, необходимо найти определенную последовательность символов.

найти в данных или в тазваниях таблиц?
21 сен 05, 08:42    [1896526]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
Найти в данных
21 сен 05, 08:45    [1896529]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Можно воспользоваться
оператором LIKE
в БОЛе он описан.
21 сен 05, 09:11    [1896570]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Брюлик
Member

Откуда:
Сообщений: 690
CREATE PROC SearchAllTables
(
@SearchStr nvarchar(100)
)
AS
BEGIN

-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.
-- Purpose: To search all columns of all tables for a given search string
-- Written by: Narayana Vyas Kondreddi
-- Site: http://vyaskn.tripod.com
-- Tested on: SQL Server 7.0 and SQL Server 2000
-- Date modified: 28th July 2002 22:50 GMT


CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

SET NOCOUNT ON

DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')

WHILE @TableName IS NOT NULL
BEGIN
SET @ColumnName = ''
SET @TableName =
(
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
AND OBJECTPROPERTY(
OBJECT_ID(
QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
), 'IsMSShipped'
) = 0
)

WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
BEGIN
SET @ColumnName =
(
SELECT MIN(QUOTENAME(COLUMN_NAME))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
AND TABLE_NAME = PARSENAME(@TableName, 1)
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
AND QUOTENAME(COLUMN_NAME) > @ColumnName
)

IF @ColumnName IS NOT NULL
BEGIN
INSERT INTO #Results
EXEC
(
'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)
FROM ' + @TableName + ' (NOLOCK) ' +
' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
)
END
END
END

SELECT ColumnName, ColumnValue FROM #Results
END
21 сен 05, 09:23    [1896604]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
Объясние как это все работает!
Где писать маску, где смотреть результат, вооще откуда этот скрипт запускать?
21 сен 05, 13:56    [1898042]     Ответить | Цитировать Сообщить модератору
 ОРЕХ  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Открываем QA,
Коннектимся к БД
Запускаем скрипт
вызываем процедуру exec SearchAllTables 'SP_'

по скрипту видно что используется оператор LIKE,
значим открываем БОЛ и смотрим что такое LIKE и с чем его едят
ивсё.
21 сен 05, 14:01    [1898077]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
При выполнении скрипта Error:Server: Msg 2714, Level 16, State 5, Procedure SearchAllTables, Line 65

А че такое БОЛ???
Мужики не материтесь, Вы объясняете чайнику!
21 сен 05, 14:27    [1898191]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Andrey_ma
...А че такое БОЛ???
FAQ
21 сен 05, 14:28    [1898197]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
Прчитал я этот БОЛ, ни икса не понял!!!
Неужели для того чтобы во всех таблицах поискать слово 'ТКС' и просмотреть результат нужно написать лист скрипта, перевести 5 листов БОЛа, и опять чето писать!??? В каком году я получу результат. С такой системой поиска быстрее будет пересмотреть все таблицы!

Я извиняюсь, но в Fox-е это элементарно в две строки!

От SQL нет слов - одни выражения!!!

Может есть какой менеджер для работы с таблицами?
21 сен 05, 14:52    [1898357]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
Из скрипта, я так понимаю, создается таблица с именем "SearchAllTables", Вопрос где она есть и как ее просмотреть???
21 сен 05, 15:10    [1898468]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Glory
Member

Откуда:
Сообщений: 104760
Andrey_ma
Из скрипта, я так понимаю, создается таблица с именем "SearchAllTables", Вопрос где она есть и как ее просмотреть???

Создается процедура SearchAllTables.
Которую нужно вызывать с пареметром
21 сен 05, 15:11    [1898483]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Andrey_ma
Из скрипта, я так понимаю, создается таблица с именем "SearchAllTables", Вопрос где она есть и как ее просмотреть???


SearchAllTables - это процедура, такая программка написанная на T-SQL, которая запускается на сервере делает там свои дела и выплёвывает результат клиенту.
Если у Вас есть EM(Enterprise Manager) то можно её найти в той базе гду Вы её создали в Stored Procedures
21 сен 05, 15:15    [1898513]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Glory
Member

Откуда:
Сообщений: 104760
Andrey_ma

Я извиняюсь, но в Fox-е это элементарно в две строки!

От SQL нет слов - одни выражения!!!

Ну-ка, ну-ка, покажите ваши "две строки в Fox-е", которые в базе и 1000 таблиц во всех столбцах найдут определенную последовательность символов
21 сен 05, 15:17    [1898522]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
"SearchAllTables - это процедура, такая программка написанная на T-SQL, которая запускается на сервере делает там свои дела и выплёвывает результат клиенту."

Че она там может выполнять если я нигде еще не писал маску поиска???
И вооще где эту маску писать?
21 сен 05, 15:28    [1898595]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Andrey_ma
"SearchAllTables - это процедура, такая программка написанная на T-SQL, которая запускается на сервере делает там свои дела и выплёвывает результат клиенту."

Че она там может выполнять если я нигде еще не писал маску поиска???
И вооще где эту маску писать?


Наверно Вам лучше придеться читать книжки по SQLServer.
21 сен 05, 15:32    [1898616]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
Похоже, ну его к иксу этот SQL его таблицы и прцедуры!!!
Ща найду конвертер баз из SQL в Access или еще куда нибудь более понятное и там че нибудь сварганю.
21 сен 05, 15:38    [1898651]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Glory
Member

Откуда:
Сообщений: 104760
Andrey_ma
"SearchAllTables - это процедура, такая программка написанная на T-SQL, которая запускается на сервере делает там свои дела и выплёвывает результат клиенту."

Че она там может выполнять если я нигде еще не писал маску поиска???
И вооще где эту маску писать?

Вам предоставили скрипт _создания_ процедуры.
Вызывается же процедура командой exec.
Синтаксис вызова есть в BOL
21 сен 05, 15:38    [1898658]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Andrey_ma
Похоже, ну его к иксу этот SQL его таблицы и прцедуры!!!
Ща найду конвертер баз из SQL в Access или еще куда нибудь более понятное и там че нибудь сварганю.

Ничего искать не надо есть DTS
21 сен 05, 15:40    [1898669]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Melkiades
Member

Откуда: Москва
Сообщений: 1553
Andrey_ma

Ща найду конвертер баз из SQL в Access или еще куда нибудь более понятное ...

Как найдете - и мне тоже киньте, плз. Давно мечтал о конвертере баз SQL Server <-> Oracle. :)
21 сен 05, 15:42    [1898685]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Glory
Member

Откуда:
Сообщений: 104760
Andrey_ma
Похоже, ну его к иксу этот SQL его таблицы и прцедуры!!!
Ща найду конвертер баз из SQL в Access или еще куда нибудь более понятное и там че нибудь сварганю.

Напоминает басню "Квартет".
21 сен 05, 15:44    [1898709]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Andrey_ma
Member

Откуда:
Сообщений: 23
Glory, похоже ты SQL занимаешься давненько, не знаю занимаещься еще чем нибудь, но у меня нет времени читать буки в тыщу листов, на мне 4 серванта, 2 библиотеки, 76 юзеров в основном офисе, два офиса под терминалом, АТС, куча кабелей ложенных до меня (никто точно не знает че за кабель и куда идет) 28 програмных комплекса с обновлениями по 2 шт в неделю на каждый, плюс вся общесистемная бойда , вкючая "поправь бумагу, подвинь шкаф"

Поэтому я и попросил, ребята, помогите найти выражение. Возможно я неверно определил задачу. Короче в одном из прогр комплексов юзер чето печатает, предварительно выгрузив в Word, но в подписях вместо ИП стоит ПБОЮЛ. Как найти из какой таблици подтягивается ПБОЮЛ.

Спасибо.
21 сен 05, 16:53    [1899173]     Ответить | Цитировать Сообщить модератору
 Re: Как искать в таблицах по маске????  [new]
Glory
Member

Откуда:
Сообщений: 104760
Glory, похоже ты SQL занимаешься давненько, не знаю занимаещься еще чем нибудь, но у меня нет времени читать буки в тыщу листов, на мне 4 серванта, 2 библиотеки, 76 юзеров в основном офисе, два офиса под терминалом, АТС, куча кабелей ложенных до меня (никто точно не знает че за кабель и куда идет) 28 програмных комплекса с обновлениями по 2 шт в неделю на каждый, плюс вся общесистемная бойда , вкючая "поправь бумагу, подвинь шкаф"

Вам дали скрипт создания процедуры.
Вам дали указание как запустить ее
Если вы не в состоянии прочитать и разобрать пару строк и примеров в руководстве, то чего вы ждете ?
Что я расплачусь о жалости, что ваше руководство вас не ценит и не понимает ?
Что все ваши юзеры тупые или очень тупые ?
Почему из-за ваших "4 сервантов, 2 библиотек, 76 юзеров и прочая и прочая" кто-то теперь должен вам разжевывать до тех пор, пока вам не понравится "кушание" ?
С 9.23 когда был опубликован скрипт процедуры до сего момента, что конктретно вы сделали или пытались сделать ?
21 сен 05, 17:02    [1899229]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить