對於一個例子,我有我的DB 100個表(表1,表2,表3,表4和表5 .....),表1與coloumns COL1,COL2 ... COL7像明智的每個表都有一些列。列COL7有值「大膽」。在這裏,我想找回持有「BOLD」值的表。如何取回一組保持一定值表名稱?
0
A
回答
0
也許這question有你在找什麼。從接受的答案採取
腳本:
SELECT 'SELECT * FROM [' + tables.TABLE_NAME + '] WHERE ['
+ Columns.Column_Name + '] = ' + CONVERT(varchar(50),@COLUMNVALUE)
FROM INFORMATION_SCHEMA.Columns as Columns
INNER JOIN INFORMATION_SCHEMA.TABLES as tables
On Columns.TABLE_NAME = tables.TABLE_NAME
WHERE Columns.DATA_TYPE = @COLUMNTYPE
0
根據菲利普的回答,您可以使用生成的進行選擇,並在一個週期內執行他們:
SELECT 'SELECT TOP 1 1 FROM [' + tables.TABLE_NAME + '] WHERE [' + Columns.Column_Name + '] LIKE ''%' + CONVERT(varchar(50),'BOLD') + '%''' As Qry,
IDENTITY(int,1,1) As Id,
tables.TABLE_NAME As TableName,
Cast(null As Bit) As ContainsText
INTO #Queries
FROM INFORMATION_SCHEMA.Columns as Columns
INNER JOIN INFORMATION_SCHEMA.TABLES as tables
On Columns.TABLE_NAME = tables.TABLE_NAME
WHERE Columns.DATA_TYPE in ('varchar','nvarchar','text')
DECLARE @TableName NVARCHAR(MAX), @Qry NVARCHAR(MAX), @ContainsText BIT, @id INT
WHILE EXISTS (SELECT * FROM #Queries WHERE ContainsText IS NULL)
BEGIN
SELECT TOP 1 @id = id, @TableName = TableName, @Qry = Qry FROM #Queries WHERE ContainsText IS NULL
EXEC (@Qry)
If (@@ROWCOUNT > 0)
Set @ContainsText = 1
Else
Set @ContainsText = 0
UPDATE #Queries SET ContainsText = @ContainsText WHERE id = @id
END
SELECT * FROM #Queries Where ContainsText = 1
這個腳本會得到所有的包含文本類型列(nvarchar,varchar或text)的表,然後逐一執行SELECT來評估是否有包含給定文本('BOLD')的任何行。
相關問題
- 1. 套管函數名稱如何保持一致?
- 2. PHP保持名稱
- 3. 如何保持串在一起名單
- 4. 如何用「 - 」名稱獲取表單值?
- 5. 如何保持一個變量回調
- 6. 如何在回發後保持下拉列表選定的值
- 7. Powerpoint vba:如何按組名稱獲取一組形狀
- 8. 獲取名稱值並將值設置爲另一個名稱
- 9. Android獲取聯繫人名稱保持回退-1
- 10. 如何保持LongListSelector的當前組名稱頂部
- 11. 差保持一定
- 12. 如何排序R中的向量,保持名稱和值
- 13. 固定值一直保持加起來
- 14. 如何在數組中插入一個值,保持秩序?
- 15. 如何返回組中某個特定值的列表中的一組值?
- 16. 如何保持列表的一致性?
- 17. 如何保持一個時間表
- 18. 如何獲取Powershell哈希表中特定值的名稱?
- 19. 保持一個列表<SelectItem>的舊值的回以前
- 20. SQLite - 從表中檢索一組名稱
- 21. 如何保持特定元素指數法在一個數組
- 22. 如何提取給定名稱的一部分結構元素的名稱?
- 23. 用動態名稱定義一個值
- 24. 如何從一組字符串中提取產品名稱? (php)
- 25. 如何保持一個代表其類的數組?
- 26. 提取特定名稱後的一行
- 27. mysql提取數組保持返回false
- 28. 如何返回值,但保持執行
- 29. 從另一個表中獲取名稱
- 30. 轉換2名/值對象的數組鍵一個名稱/值
你可以試試[這](http://www.mssqltips.com/sqlservertip/1522/searching-and-finding-a-string-value-in-all-columns-in-a-sql-server-表/)。 – Nilesh