SQL Server’da Veritabanında Tablo Adı Aramak
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.