0
A
回答
1
Try this stored procedure
CREATE PROC SearchAllTables
(
@SearchStr nvarchar(100)
)
AS
BEGIN
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', 'int', 'decimal')
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
+0
我應該在這裏做什麼改變如果我想搜索「Admin」作爲例子? –
+0
感謝您的回覆。這是工作。 –
0
相關問題
- 1. 在整個數據庫中搜索一個亂碼字符「Oracle」
- 2. 如何在整個MySQL數據庫中搜索字符串?
- 3. 如何搜索SQL Server數據庫中的字符串
- 4. 搜索整個字符串
- 5. C#在整數/字符串中搜索第一個數字
- 6. 如何搜索sql server數據庫的字符串?
- 7. 在數據庫中搜索字符串
- 8. 在SQL Server數據庫中搜索控制字符
- 9. 搜索在SQL Server數據庫中的所有表中的字符串2000
- 10. 在完整的MS Access數據庫中搜索字符串
- 11. 如何使用IBexpert在整個SQL數據庫中搜索指定的字符?
- 12. 如何在一個字符串中搜索兩個字符串?
- 13. Oracle:在整個數據庫中搜索字符串:錯誤ORA-00911
- 14. 使用Sqlite3在整個數據庫中搜索特定的字符串?
- 15. 搜索在設計時的SQL Server數據庫中的字符串
- 16. rethinkDB在一個字符串中搜索
- 17. 「贊」在SQL Server中搜索(,)在字符串中分隔參數
- 18. 如何在javascript中搜索整個字符串中的一部分字符串
- 19. 在數據表中搜索一個字符串列
- 20. 搜索在SQL Server數據庫
- 21. 在整個數據庫中的搜索列-sql
- 22. 在java中用一個或多個字搜索整個數據庫
- 23. 搜索數據庫中具有多個{tokens}的字符串
- 24. sql server部分字符串搜索
- 25. SQL Server的一個字符串中刪除多個字符串
- 26. 搜索字符串數據庫
- 27. SQL Server數據庫連接字符串
- 28. 如何在另一個字符串中搜索字符串
- 29. 搜索一個字符串是否另一個字符串
- 30. 在全局搜索一個字符串
你可以找到從這裏的答案, http://stackoverflow.com/questions/9185871/how-to-search-sql-server-database-for-string – usuthan