Logo programında sys’den firma silindiğinde database’den ilgili firmanın tableları silinmiyor. Sql Managerdan girip bu tabloları da silmek gerekmektedir. Bu silme işlemine başlamak için önce ilgili firmanın tabloları kullananan viewlerin silinmesi gerekiyor.
Aşağıdaki ilk script ilgili firmanın tablolarını kullanan viewları listeler.
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += '
DROP VIEW '
+ QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))
+ '.' + QUOTENAME(name) + ';'
FROM sys.views
WHERE name LIKE 'LV_056%';
PRINT @sql;
burada değişiklik yapılacak tek yer ‘LV_056%’ kısmıdır. Buraya kendi firma numaranızı yazmanız gerekir. Viewlar silindikten sonra tableların silinmesine geçilebilir.
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += '
DROP TABLE '
+ QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))
+ '.' + QUOTENAME(name) + ';'
FROM sys.tables
WHERE name LIKE 'LG_056%';
PRINT @sql;
“LG_042” kısmına silinmek istenen firma numarası gelmelidir. Aşağıda ki veriler gelecektir. Her tablo için drop scripti ürettik. Bu scriptler çalıştırıldığında tablolar silinmiş olur…
DROP TABLE [dbo].[LG_056_OPREQACTIVITY];
DROP TABLE [dbo].[LG_056_UNITSETF];
DROP TABLE [dbo].[LG_056_01_GNTOTVRNT];
DROP TABLE [dbo].[LG_056_01_STINVTOT];
DROP TABLE [dbo].[LG_056_SUPPEVALTRANS];
DROP TABLE [dbo].[LG_056_OVHDTRANS];
DROP TABLE [dbo].[LG_056_UNITSETL];