-
Sql de tablo'nun var olup olmadığını kontrol etmek
Haziran 26, 2012 1
Sql Server da bazen belirli bir tablonun olup olmama durumuna göre işlem yapmamız gerekebilir.Aslen benim karşılaştığım bir temptable ı kontrol etme sorunuydu ve bulduktan sonra burada da paylaşmak istedim ama önce normal bir tabloyu nasıl kontrol ederiz onun hakkında bir örnek vereceğim sonrasında ise bir temp table nasıl kontrol edip duruma göre nasıl işlem yaparız ona bakacağız.
sql de bir tablonun var olup olmadığını kontrol etmek :
IF EXISTS (SELECT * FROM sys.objects --sistem tablolarının tutulduğu tabloya select çekiyoruz.
WHERE object_id = OBJECT_ID(N'dbo.Personel') --Personel tablomuzu filtre olarak ekliyouz.
AND type in (N'U')--Tablo ismini yazmıştık şimdide bir tip filtresi ekliyoruz.bu select çektiğimiz tablodaki tip karşılıklarını aşağıda detaylı olarak verdim.
)
BEGIN
PRINT 'tablo var :)'
--buraya tablo var ise yapılacaklar yazılır
END
ELSE --eğer tablo yok ise
BEGIN
PRINT 'tablo bulunamadı :('
--buraya tablo yok ise yapılacaklar yazılır
END
sys.objects tablosunda bulunan type'lar ve açıklamaları :
Tip Tip açıklaması
C----CHECK_CONSTRAINT
D----DEFAULT_CONSTRAINT
F----FOREIGN_KEY_CONSTRAINT
FN--SQL_SCALAR_FUNCTION
IT---INTERNAL_TABLE
P----SQL_STORED_PROCEDURE
PK--PRIMARY_KEY_CONSTRAINT
S----SYSTEM_TABLE
SQ--SERVICE_QUEUE
TR--SQL_TRIGGER
U----USER_TABLE
UQ--UNIQUE_CONSTRAINT
V----VIEW
Şimdide bir Temp Table kontrol edelim :
IF OBJECT_ID('tempdb..#PersonelReport') IS NOT NULL
BEGIN
PRINT 'tablo var :)'
--tablo var ise yapılacaklar
END
ELSE
BEGIN
PRINT 'tablo bulunamadı :('
--tablo yok ise yapılacaklar
ENDSql de tablo'nun var olup olmadığını kontrol etmekYunus Emre Haziran 26, 2012
Yunus Emre
Integer sodales turpis id sapien bibendum, ac tempor quam dignissim. Mauris feugiat lobortis dignissim. Aliquam facilisis, velit sit amet sagittis laoreet, urna risus porta nisi, nec fringilla diam leo quis purus.
Bir Yazılım Mühendisinden tavsiyeler . . .