Created
November 10, 2015 10:40
-
-
Save prakashanantha/fe56f69400a64caf499a to your computer and use it in GitHub Desktop.
find a guid in the entire db
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE PROCEDURE dbo.FindGUID @searchValue uniqueidentifier AS | |
/* | |
Search all tables in the database for a guid | |
Revision History | |
6/9/2009: Initally created | |
6/10/2009: Build or clause of multiple columns on one table | |
*/ | |
--DECLARE @searchValue uniqueidentifier | |
--SET @searchValue = '{2A6814B9-8261-452D-A144-13264433864E}' | |
DECLARE abc CURSOR FOR | |
SELECT | |
c.TABLE_SCHEMA, c.TABLE_NAME, c.COLUMN_NAME | |
FROM INFORMATION_SCHEMA.Columns c | |
INNER JOIN INFORMATION_SCHEMA.Tables t | |
ON c.TABLE_NAME = t.TABLE_NAME | |
AND t.TABLE_TYPE = 'BASE TABLE' | |
WHERE DATA_TYPE = 'uniqueidentifier' | |
DECLARE @tableSchema varchar(200) | |
DECLARE @tableName varchar(200) | |
DECLARE @columnName varchar(200) | |
DECLARE @szQuery varchar(8000) | |
SET @szQuery = '' | |
DECLARE @lasttable varchar(255); | |
SET @lasttable=''; | |
OPEN ABC | |
FETCH NEXT FROM abc INTO @tableSchema, @tableName, @columnName; | |
WHILE (@@FETCH_STATUS = 0) | |
BEGIN | |
IF(@lasttable=@tablename) | |
BEGIN | |
SET @szQuery = @szQuery + ' OR [' + @columnName + ']=''' + CAST(@searchValue AS varchar(50)) + ''''; | |
END | |
ELSE | |
BEGIN | |
SET @lasttable = @tablename; | |
IF @szQuery <> '' | |
BEGIN | |
PRINT @szQuery | |
EXEC (@szQuery); | |
END | |
SET @szQuery = | |
'SELECT '''+@tableSchema+'.'+@tableName+''' AS TheTable, '''+@columnName+''' AS TheColumn '+ | |
'FROM '+@tableName+' '+ | |
'WHERE '+@columnName+' = '''+CAST(@searchValue AS varchar(50))+'''' | |
END | |
FETCH NEXT FROM abc INTO @tableSchema, @tableName, @columnName; | |
END | |
CLOSE abc | |
DEALLOCATE abc | |
IF @szQuery <> '' | |
BEGIN | |
PRINT @szQuery | |
EXEC (@szQuery); | |
END | |
GO |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment