Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 07:40 26.05.24 
Клубове/ Компютри и Интернет / Бази данни Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Май нещо не си разбрал :) [re: bultra]
Автор wqw (АзСъмЖив)
Публикувано05.12.05 15:02  



Виж това за идеи:

IF OBJECT_ID('usp_SearchTables') IS NOT NULL DROP PROC usp_SearchTables

GO
-- exec dbo.usp_SearchTables 'wqw%'

CREATE PROC usp_SearchTables (
@SearchText VARCHAR(1000)
) AS
SET NOCOUNT ON

DECLARE @SQL NVARCHAR(4000)
, @ParamList NVARCHAR(4000)
, @TableName SYSNAME

SET @ParamList = '@SearchText VARCHAR(1000)'

--- prepare temp table w/ columns/tables to be processed
SELECT c.COLUMN_NAME, c.TABLE_NAME
INTO #TmpCol
FROM INFORMATION_SCHEMA.COLUMNS c
JOIN INFORMATION_SCHEMA.TABLES t
ON c.TABLE_NAME = t.TABLE_NAME
WHERE t.TABLE_TYPE IN ('BASE TABLE') -- 'VIEW'
AND DATA_TYPE IN ('VARCHAR', 'NVARCHAR', 'CHAR', 'NCHAR') -- 'TEXT', 'NTEXT'

--- loop columns/tables
WHILE EXISTS (SELECT * FROM #TmpCol)
BEGIN
SELECT TOP 1 @TableName = TABLE_NAME
FROM #TmpCol

SET @SQL = NULL

--- construct WHERE clause
SELECT @SQL = CASE WHEN @SQL IS NULL THEN '' ELSE @SQL + ' OR ' END
+ QUOTENAME(COLUMN_NAME) + ' LIKE @SearchText'
FROM #TmpCol
WHERE TABLE_NAME = @TableName

--- construct IF EXISTS statement
SET @SQL = '
IF EXISTS ( SELECT *
FROM ' + QUOTENAME(@TableName) + '
WHERE ' + @SQL + ')
RAISERROR (''Found in ' + REPLACE(@TableName, '''', '''''') + ''', 10, 1) WITH NOWAIT'

-- PRINT @SQL
EXEC dbo.sp_executesql @SQL, @ParamList, @SearchText

DELETE #TmpCol
WHERE TABLE_NAME = @TableName
END
GO

cheers,
</wqw>



Цялата тема
ТемаАвторПубликувано
* Търсене по текст в цяла база данни bultra   03.12.05 08:46
. * stored procedure devnul   03.12.05 10:11
. * Re: stored procedure bultra   03.12.05 10:25
. * моля devnul   03.12.05 10:33
. * Re: моля bultra   03.12.05 11:18
. * Май нещо не си разбрал :) NikB   03.12.05 20:53
. * Re: Май нещо не си разбрал :) bultra   03.12.05 21:58
. * Re: Май нещо не си разбрал :) wqw   05.12.05 15:02
. * Re: Май нещо не си разбрал :) bultra   05.12.05 19:53
. * Re: Май нещо не си разбрал :) fiffy   05.12.05 20:35
. * Re: Май нещо не си разбрал :) bultra   10.12.05 07:02
. * Re: Май нещо не си разбрал :) bultra   10.12.05 07:20
. * Re: Май нещо не си разбрал :) devnul   10.12.05 10:40
. * Re: Май нещо не си разбрал :) wqw   10.12.05 17:25
. * Re: Май нещо не си разбрал :) bultra   11.12.05 06:51
. * Re: Май нещо не си разбрал :) bultra   11.12.05 06:54
. * Re: Май нещо не си разбрал :) devnul   11.12.05 13:40
. * Re: Търсене по текст в цяла база данни Йopдaн   03.12.05 18:01
. * Re: Търсене по текст в цяла база данни bultra   03.12.05 21:07
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.