Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. CREATE PROC SearchAllTables2
  2. (
  3. @SearchStr nvarchar(100)
  4. )
  5. AS
  6. BEGIN
  7.  
  8.  
  9.  
  10. CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))
  11.  
  12. SET NOCOUNT ON
  13.  
  14. DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
  15. SET @TableName = ''
  16. SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
  17.  
  18. WHILE @TableName IS NOT NULL
  19. BEGIN
  20. SET @ColumnName = ''
  21. SET @TableName =
  22. (
  23. SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
  24. FROM INFORMATION_SCHEMA.TABLES
  25. WHERE TABLE_TYPE = 'BASE TABLE'
  26. AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
  27. AND OBJECTPROPERTY(
  28. OBJECT_ID(
  29. QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
  30. ), 'IsMSShipped'
  31. ) = 0
  32. )
  33.  
  34. WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
  35. BEGIN
  36. SET @ColumnName =
  37. (
  38. SELECT MIN(QUOTENAME(COLUMN_NAME))
  39. FROM INFORMATION_SCHEMA.COLUMNS
  40. WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
  41. AND TABLE_NAME = PARSENAME(@TableName, 1)
  42. AND DATA_TYPE IN ('smallint','int','char', 'varchar', 'nchar', 'nvarchar')
  43. AND QUOTENAME(COLUMN_NAME) > @ColumnName
  44. )
  45.  
  46. IF @ColumnName IS NOT NULL
  47. BEGIN
  48. INSERT INTO #Results
  49. EXEC
  50. (
  51. 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)
  52. FROM ' + @TableName + ' (NOLOCK) ' +
  53. ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
  54. )
  55. END
  56. END
  57. END
  58.  
  59. SELECT ColumnName, ColumnValue FROM #Results
  60. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement