在正在測試其使用asp.net和SQL Server 2005 在我輸入一個值作爲一個出版商場「飢渴的心靈」形式創建了一個應用程序表。但是當我不知道它存儲在哪個表中時。是否有任何查詢,發現其中包含數據的「飢渴的心靈」SQL查詢來查找包含具體的數據
1
A
回答
3
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
create PROC [dbo].[SearchAllTables]
(
@SearchStr nvarchar(100)
)
AS
BEGIN
--exec SearchAllTables 'sdsd'
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','ntext')
AND QUOTENAME(COLUMN_NAME) > @ColumnName
)
IF @ColumnName IS NOT NULL
BEGIN
INSERT INTO #Results
EXEC
(
'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(Cast(' +
@ColumnName + ' AS NVARCHAR(Max)), 3630)
FROM ' + @TableName + ' (NOLOCK) ' +
' WHERE Cast(' + @ColumnName + ' AS NVARCHAR(Max)) LIKE ' +
@SearchStr2
)
END
END
END
SELECT ColumnName, ColumnValue FROM #Results
END
1
不,不是沒有一些掛羊頭賣狗肉的表。您通常期望知道您的模式的細節。
什麼你可以做的是寫某種形式的腳本來查詢系統表,構建查詢,以找到它。
我的意思是大多數DBMS」有包含如表名和列名的元數據數據庫系統表。例如,DB2/z的SYSIBM.SYSTABLES
和SYSIBM.SYSCOLUMNS
。
我不知道什麼是SQLServer的等價物是把我的頭頂部,因爲,如前所述,我大致知道我的架構的細節:-)
您可以使用這些表來構造查詢查詢「真實」的表格。
相關問題
- 1. SQL查詢來查找包含資源不止一個標籤
- 2. SQL包含查詢
- 3. SQL查詢來計算包含
- 4. 使用查詢來檢查包含來自表數據A
- 5. 查詢具體數據
- 6. SQL查詢來查找列
- 7. SQL查詢來查找月
- 8. SQL查詢找到數據
- 9. SQL查詢,列名包含&
- 10. SQL查詢來查找其中包含多個字符串「a href」的列
- 11. SQL查詢帶回僅包含數字(具體的IP地址)字段
- 12. Magento的:SQL查詢查找產品無具體subcatagories
- 13. 在SQL計數查詢中包含零?
- 14. 在函數中包含sql查詢
- 15. TYPO3包含PHP函數和SQL查詢
- 16. 我的SQL查詢來查找#狀態
- 17. SQL查詢來查找假否定w.r.t數據匹配或實體分辨率
- 18. 的Oracle SQL查詢來排除包含非數字字符
- 19. 查找Oracle表中的具體數據
- 20. 檢查ArrayList包含任何具體的數據
- 21. MongoDB - 僅查找其數組包含查詢數組的文檔
- 22. SQL查詢 - 選擇包含不同表中的數據的行
- 23. SQL查詢來查找具有相同值
- 24. 包含空子實體的Linq查詢
- 25. SQL Server查詢來查找組
- 26. SQL查詢來查找產品協會
- 27. SQL查詢來查找金融交易
- 28. SQL查詢來查找日期
- 29. SQL查詢來查找電臺
- 30. SQL Server 2008查詢查找列中包含非字母數字字符的行
感謝Royi,你救了我! –