Herkese merhaba. Bu yazıda SQL Server’da veritabanında tablo adı aramak ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda veritabanında tablo adı aramak isteyebilirsiniz.

Aşağıdaki kodu kullanarak sizler de bu işlemi rahatlıkla yapabilirsiniz.

DECLARE @dbname VARCHAR(500)
DECLARE @tblname NVARCHAR(500)

SET @tblname = 'Categories%'

DECLARE db_cursor CURSOR FOR SELECT
	name
FROM sys.databases
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @dbname

WHILE @@fetch_status = 0
BEGIN
IF EXISTS (SELECT
			*
		FROM [sys].[databases] d
		INNER JOIN [sys].[master_files] m
			ON d.database_id = m.database_id
		WHERE d.state_desc = 'ONLINE'
		AND m.state = 0 -- ONLINE
		AND d.name = @dbname
		AND EXISTS (SELECT
				1
			FROM [sys].[tables] t
			WHERE t.name LIKE @tblname))
BEGIN
	PRINT ' [' + @tblname + '] tablosu [' + @dbname + '] veritabanında arandı.'
	EXEC ('USE [' + @dbname + ']; SELECT TABLE_CATALOG+''.''+TABLE_SCHEMA+''.''+TABLE_NAME AS ''Table Name'' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE ''' + @tblname + ''' AND TABLE_TYPE=''BASE TABLE''')
END
FETCH NEXT FROM db_cursor INTO @dbname
END

CLOSE db_cursor
DEALLOCATE db_cursor

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

191 Kez Okundu

Kategoriler: