Tag: update

Google Sheets Belge Güncelleme | C#

Google Sheets Belge Güncelleme | C#

Merhaba, Google Looker Studio diye bir raporlama aracı varmış.Veri görselleştirme işlerine yarıyor.Buna kaynak olarak bir çok alternatif sunabiliyorsunuz.Ama bana en uygunu bir Google Sheets gibi geldi.Ama bu Google Sheets dosyasını otomatik olarak da doldurabilmem lazımdı.İşte bu noktada bunu API ile nasıl yaparım diyerek çıktım yola 

Inner Join Kullanarak Güncelleme | MsSql

Inner Join Kullanarak Güncelleme | MsSql

Merhaba, iki farklı tabloda birbirine bağlayarak güncelleme yapmaya ihtiyaç olabiliyor zaman zaman. Bunun için benim kullandığım yöntem öncelikle SELECT sorgusunu yazmak, sonra da bunu UPDATE şeklinde çevirmek. Örneğimizde Musteri tablosundaki IlKodu alanını hatalı güncellemişiz ve test veritabanındaki dünkü kayıtlarla güncelleme ihtiyacımız doğdu. Önce bir Select 

Tabloda Geçen Değeri Bulma Ve Güncelleme | MsSql

Tabloda Geçen Değeri Bulma Ve Güncelleme | MsSql

Merhaba, çok sık olmasa da kimi zaman veritabanında bir değerin geçtiği tüm tablolarda o değeri güncelleme ihtiyacı olabilir.

Çok tasvip edilmeyen bir durum olsa da, bir gün ihtiyacınız olursa faydasını görebilirsiniz diyerek sizinle de paylaşmak istedim.

Benim örneğimde bir cari numarasının güncellenmesi yer alıyor. Bu carinin geçtiği tüm tabloları dolaşıp güncelleme scriptini oluşturuyorum.

Bunu bir SP haline getirebilirsiniz. En son oluşan scripti de, ExecuteSql ile çalıştırabilirsiniz.

Belki 1-2 tanesini kendiniz çalıştırıp başarı elde ettikten sonra yapsanız daha sağlıklı olur.

Örneğimizde CANIAS ERP’de cari kodunun diğer tablolarda nasıl ifade edildiğine göre bir WHERE koşulu oluşturdum. Finans tablolarında ACCOUNT, satınalma tablolarında VENDOR ve diğer tablolarda da çoğunlukla CUSTOMER olarak geçtiği için bu şekilde bir koşul oluşturdum.

DECLARE @arananDeger nvarchar(20) = 'MST0001';
DECLARE @atanacakDeger nvarchar(20) = 'MST0099';
DECLARE @whereKosulu nvarchar(250) = ' CLIENT = ''00'' AND COMPANY = ''01'' AND ';

DECLARE @strSql nvarchar(MAX) = '';
DECLARE @tblTablo TABLE (KolonAdi NVARCHAR(50), TabloAdi NVARCHAR(50));

select  @strSql = @strSql + ' SELECT ''' + c.[name] + ''' AS KolonAdi, ''' + t.[name] + ''' AS TabloAdi FROM ' + t.[name] + ' WITH (NOLOCK) WHERE ' + c.[name] + ' = ''' + @arananDeger + ''' UNION '
from sys.schemas s
inner join sys.tables  t on s.schema_id = t.schema_id
inner join sys.columns c on t.object_id = c.object_id
inner join sys.types d on c.user_type_id = d.user_type_id
where (c.name like '%CUSTOMER%' 
	OR c.name like '%ACCOUNT%' 
	OR c.name like '%VENDOR%' 
	OR c.name like '%CUST%')
AND d.[name] LIKE '%char%'

-- Sondaki UNION icin asagida bir bos satir ekliyorum.
SET @strSql = @strSql + ' SELECT '''' AS KolonAdi, '''' AS TabloAdi ';

INSERT INTO @tblTablo
EXEC(@strSql);


SELECT KolonAdi, TabloAdi, 
' SELECT * FROM ' + TabloAdi + ' WITH (NOLOCK) WHERE ' + KolonAdi + ' = ''' + @arananDeger + ''';',
' UPDATE ' + TabloAdi + ' SET ' + KolonAdi + ' = ''' + @atanacakDeger + ''', CHANGEDAT = GETDATE(), CHANGEDBY = ''OTOM'' WHERE ' + @whereKosulu + KolonAdi + ' = ''' + @arananDeger + ''';'
FROM @tblTablo WHERE TabloAdi != '';

Selamlar.

Trigger Aktif/Pasif Yönetimi | MsSql

Trigger Aktif/Pasif Yönetimi | MsSql

Merhaba, zaman zaman toplu güncelleme ihtiyaçları olduğunda, bunların trigger kaynaklı gereksiz yere bir veri üretmesini istemeyiz. Bu sorun, işlem öncesi tablodaki trigger pasif hale getirilip, sonrasında tekrar aktif hale getirilerek çözülebilir. Selamlar.

Ssms Collation Ayarı | MsSql

Ssms Collation Ayarı | MsSql

Merhaba, Sql Server Management Studio’da tablolarla uğraşırken alan bazında karakter kodlamayı kullanmaya ihtiyaç olabiliyor. Bu özelliği ayarlardan açabiliyoruz. Yalnız farklı karakter kodlamasına sahip nvarchar alanlara değer atarken önüne “N” eklemeyi unutmamak lazım. gibi. Selamlar.