/*
   چهار‌شنبه, 21 آبان 1404 - 14:08:22 ب.ظ
   User: 
   Server: TAHERIAN
   Database: ATNDB
   Application: 
*/

Use ATNDBTest
Go
/*=============================================================================================================*/

If Not Exists(Select * From sys.schemas Where Name = 'POM') Exec('Create Schema POM Authorization dbo')
Go

DECLARE @OldSchema NVARCHAR(100) = 'CRM';  -- اسکیمای فعلی
DECLARE @NewSchema NVARCHAR(100) = 'POM';  -- اسکیمای جدید
DECLARE @SQL NVARCHAR(MAX) = '';


-- ساخت دستورات تغییر اسکیمای برای همه جداول با اسکیمای قدیمی
SELECT @SQL = @SQL + 
    'ALTER SCHEMA [' + @NewSchema + '] TRANSFER [' + @OldSchema + '].[' + t.name + '];' + CHAR(13)
FROM sys.tables t
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE s.name = @OldSchema;

PRINT @SQL;  -- برای بررسی قبل از اجرا
EXEC sp_executesql @SQL;
