Logo Dönem Silme Sql Den
Logo Dönem Silme Sql Den
Yedek Almadan Yapmayınız. Sorumluluk Size aittir
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.“006” 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…
SET NOCOUNT ON
DECLARE @TABLO VARCHAR(8);
DECLARE @VIEW VARCHAR(10);
DECLARE @PROC VARCHAR(10);
SET @TABLO= 'LG_006_'
SET @VIEW = 'LV_006_'
SET @PROC = '_006_'
SELECT * FROM (
SELECT 'VIEWS' AS Yapı, TABLE_NAME,0 Kayıt_Sayısı, 'DROP VIEW '+''+TABLE_NAME+';' Silme
FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME LIKE @VIEW + '%'
UNION ALL
SELECT
'Tablo',sch.name +'.'+ tab.name TabloAdi , SUM(pa.rows) KayitSayisi,
'DROP TABLE'+' '+sch.name +'.'+ tab.name+';' Silme
FROM
sys.tables tab
INNER JOIN sys.partitions pa
ON pa.OBJECT_ID = tab.OBJECT_ID
INNER JOIN sys.schemas sch
ON tab.schema_id = sch.schema_id
WHERE
tab.is_ms_shipped = 0 AND pa.index_id IN (1,0) AND tab.name LIKE @TABLO + '%'
GROUP BY sch.name,tab.name
UNION ALL
SELECT 'Proc',NAME,0,'DROP PROC '+NAME+';' Silme FROM DBO.SYSOBJECTS WHERE NAME LIKE '%'+@PROC+'%'
) TMP
ORDER BY Yapı desc