Sql Server’da durum nasıl bilmiyorum ama geçenlerde Oracle’da şöyle bir durum farkettim: Where kısmında kullandığımız NOT IN komutu, IN komutunun birebir tersi şeklinde bir sonuç getirmeyebiliyor. Şart kısmında belirttiğimiz değerler içinde NULL olan kayıt varsa işler oldukça değişebiliyor. Küçük bir örnekle açıklamak gerekirse:
Etiket: ‘mssql’
NText Tipindeki Alanlarda Replace Sorunu
Sql Server kullanıyorsanız, ntext tipinde bir alanınız varsa ve yazacağınız sorgu cümlesinde bu alana replace komutunu uygulayacaksanız aşağıdaki hata mesajıyla karşılaşırsınız.
Argument data type ntext is invalid for argument 1 of replace function.
Ntext için neden böyle bir sorun var bilmiyorum ama bu sorunu gidermek için ise sorgumuzda küçük bir oynama yapmak yeterli olacaktır. Hemen arz edeyim:
update tablo_adi set alan_adi = Replace(Cast(alan_adi AS NVARCHAR(Max)), ‘aranan’, ‘degistirilen’)
İşte bu kadar. Faydalı olması dileğiyle.
Veritabanındaki Tüm Verileri Silme Uygulaması
Geçen gün çalıştığım şirketin web sayfasını yayınlamaya çalışırken, localde bulunan veritabanındaki verileri server tarafındaki veritabanına transfer etme ihtiyacı duydum. Bu işlem için de MS SQL 2005 ile birlikte gelen Sql Server Management Studio programını kullandım. İşlem daha ilk denemede başarıyla gerçekleşti fakat bir sorun vardı. Localde gayet güzel görünen veriler, server tarafına türkçe karakterler bozulmuş olarak gitmişti. Bunun üzerine servera attığım o verileri tablolardan silmek ve bu işlemi tekrar yapmam gerekiyordu.
İşte tam bu noktada başlığını atmış olduğumuz konuya gelmiş bulunuyoruz. Nasıl bir sorgu yazayım ki tüm veriler tek seferde silinsin. 20 civarında tablo olduğundan her biri için ayrı ayrı
(daha fazla…)


