[PAYLAŞIM] İşe Yarar SQL Komutları

  • Konbuyu başlatan Konbuyu başlatan PrancuLa
  • Başlangıç tarihi Başlangıç tarihi
Konu Yazar

PrancuLa

∂єνяιм'¢ι ¢ü¢є √
Emektar
Eyl
850
4
Selamlar,

KOD 1
En basit bir şekilde tablo backup’ı alma.

Komut
Kod:
SELECT * INTO BackupTable FROM MainTable
İşlevi: BackupTable adında bir tablo oluşturduktan sonra MainTable adındaki tablonun içindeki datayı olduğu gibi bu tabloya aktararak backup almamızı sağlar.

Not: eğer tabloda indexler oluşturulmuşsa bunları aktarmaz. Sadece data aktarımında kullanılır.

-------------------------------------------------------

KOD 2
Kod:
DECLARE @TABLE_NAME      VARCHAR(255)
DECLARE @SQL          NVARCHAR(500)

SET @TABLE_NAME      =’’
SET @SQL          =’’

DECLARE LIST_ITEMS CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
     WHERE TABLE_TYPE=’BASE TABLE’ AND
(
     TABLE_NAME LIKE ’Uye%’ OR TABLE_NAME LIKE ’Ayar%’
)
OPEN LIST_ITEMS
FETCH NEXT FROM LIST_ITEMS   INTO @TABLE_NAME
     WHILE @@FETCH_STATUS = 0
          BEGIN
               SET @SQL=’TRUNCATE TABLE ’ + @TABLE_NAME
               EXEC SP_EXECUTESQL @SQL      
               FETCH NEXT FROM LIST_ITEMS   INTO @TABLE_NAME
          END

CLOSE LIST_ITEMS
DEALLOCATE LIST_ITEMS

Üstteki SQL komutu Uye ve Ayar adında başlayan tabloların içini boşaltır. Siz ihtiyacınız halinde bu kısımlarını değiştirip kullanabilirsiniz.Kodlar filtrelemeye uğrayacağından SQL dosyasını aşağıdaki CODE'dan alınız.

Kod:
DECLARE @TABLE_NAME 	VARCHAR(255)
DECLARE @SQL		NVARCHAR(500)

SET @TABLE_NAME 	=''
SET @SQL		=''

DECLARE LIST_ITEMS  CURSOR FOR SELECT TABLE_NAME FROM  INFORMATION_SCHEMA.TABLES 
	WHERE TABLE_TYPE='BASE TABLE' AND 
(
	TABLE_NAME LIKE 'Uye%' OR TABLE_NAME LIKE 'Ayar%' 
)
OPEN LIST_ITEMS  
FETCH NEXT FROM LIST_ITEMS   INTO @TABLE_NAME
	WHILE @@FETCH_STATUS = 0
		BEGIN
			SET @SQL='TRUNCATE TABLE ' + @TABLE_NAME 
			EXEC SP_EXECUTESQL @SQL	 
			FETCH NEXT FROM LIST_ITEMS   INTO @TABLE_NAME
		END

CLOSE LIST_ITEMS
DEALLOCATE LIST_ITEMS

İyi günlerde kullanın.
 
Geri
Üst Alt