1. Anasayfa
  2. ERP Destek

Logo Firma Silme (Veritabanı Dahil)

Logo Firma Silme (Veritabanı Dahil)
0

Logo ERP ürünlerini kullanan kullanıcılar, bazı durumlarda firma silme işlemine ihtiyaç duyabilir. Bu durumlar arasında;

  • Test amaçlı açılan firmalar
  • Çok eski yıllara ait firmalar
  • Artık kullanılmayan firmalar
  • Yanlışlıkla açılan firmalar
  • Veritabanı boyutunu azaltma

sayılabilir. Bu yazıda, Logo firma silme işleminin adımlarından bahsedeceğiz. Firma silindikten sonra Sql Server veritabanındaki verilerin nasıl silinebileceğini de anlatacağız.

1.Adım: Sys den Firma ve Dönem Silme

  • Sistem işletmeni (sys) ye giriş yapılır.
  • Üst menüden Yönetim –> Firmalar seçilir.
  • Silinecek firmanın sol tarafındaki ok işaretine tıklanır.
  • Dönemler altındaki bir veya birden fazla dönem, sağ tuş –> Çıkar denilerek çıkarılır.
  • Dönemler silindikten sonra, firma üzerinde sağ tuş –> Çıkar denilerek firma çıkarılır.
1. adımdaki işlemler yapıldıktan sonra, firma yalnızca sistem işletmenindeki firmalar tablosundan silinmiş olur. Firmaya ait veriler hala veritabanında durur.

2.Adım: Veritabanındaki Verileri Silme

  • Sql Server Management Studio açılır.
  • New Query penceresine girilir.
  •  Aşağıdaki sorgu, new query penceresine kopyalanır ve firma no alanı değiştirilir.
DECLARE @firmno varchar(3)='999' /*Silinecek firma numarasını 3 karakter olacak şekilde başına 0 ekleyerek yaz*/
DECLARE @view_name SYSNAME
DECLARE @table_name SYSNAME
DECLARE @procedure_name SYSNAME
DECLARE @function_name SYSNAME
 
/*View Silme İşlemi Başlangıç*/
DECLARE Logo_objs CURSOR FOR
SELECT name
FROM sysobjects
WHERE (name LIKE 'LV_' + @firmno + '%' AND xtype='V' )
ORDER BY NAME
OPEN Logo_objs
FETCH NEXT FROM Logo_objs INTO @view_name
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE('DROP VIEW '+ @view_name)
FETCH NEXT FROM Logo_objs into @view_name
END
CLOSE Logo_objs
DEALLOCATE Logo_objs
/*View Silme İşlemi Bitiş*/
 
/*Tablo Silme İşlemi Başlangıç*/
DECLARE Logo_objs CURSOR FOR
SELECT name
FROM sysobjects
WHERE (name LIKE 'LG_' + @firmno + '%' AND XTYPE = 'U')
ORDER BY NAME
OPEN Logo_objs
FETCH NEXT FROM Logo_objs INTO @table_name
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE('DROP TABLE '+ @table_name)
FETCH NEXT FROM Logo_objs into @table_name
END
CLOSE Logo_objs
DEALLOCATE Logo_objs 
/*Tablo Silme İşlemi Bitiş*/
 
/*Prosedür Silme İşlemi Başlangıç*/
DECLARE Logo_objs CURSOR FOR
SELECT name
FROM sysobjects
WHERE (name LIKE '%' + @firmno + '%' AND XTYPE = 'P')
ORDER BY NAME
OPEN Logo_objs
FETCH NEXT FROM Logo_objs INTO @procedure_name
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE('DROP PROCEDURE '+ @procedure_name)
FETCH NEXT FROM Logo_objs into @procedure_name
END
CLOSE Logo_objs
DEALLOCATE Logo_objs
/*Prosedür Silme İşlemi Bitiş*/
 
/*Fonksiyon Silme İşlemi Başlangıç*/
DECLARE Logo_objs CURSOR FOR
SELECT name
FROM sys.sql_modules m 
INNER JOIN sys.objects o  ON m.object_id=o.object_id
WHERE (name like 'LG_' + @firmno + '%' AND type  ='FN')
ORDER BY NAME
OPEN Logo_objs
FETCH NEXT FROM Logo_objs INTO @function_name
WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE('DROP FUNCTION '+ @function_name)
FETCH NEXT FROM Logo_objs into @function_name
END
CLOSE Logo_objs
DEALLOCATE Logo_objs
/*Prosedür Silme İşlemi Bitiş*/
  • İşlem başarıyla tamamlandıktan sonra, 1.adımda silinen firmaya ait, tablo, view, prosedür ve fonksiyonlar temizlenmiş olur.
  • İsteğe bağlı olarak shrink işlemi yapılarak veritabanı boyutu küçültülebilir.

 

Yukarıdaki işlem adımları sırayla yapıldıktan sonra, Logo Firma Silme işlemi, hem program, hem veritabanı tarafında tamamlanmış olur.

Bu Yazıya Tepkiniz Ne Oldu?
  • 0
    be_endim
    Beğendim
  • 0
    alk_l_yorum
    Alkışlıyorum
  • 0
    e_lendim
    Eğlendim
  • 0
    d_nceliyim
    Düşünceliyim
  • 0
    _rendim
    İğrendim
  • 0
    _z_ld_m
    Üzüldüm
  • 0
    _ok_k_zd_m
    Çok Kızdım

Logo destek, logo go3, logo tiger3, logo muhasebe, logo go3 eğitim, logo tiger eğitim, logo connect, logo kural yazma, logo connect kural, logo sql, logo raporlama, logo rapor tasarımı, logo sqlinfo

Yazarın Profili
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir