En iyi yanıtlayıcılar
veri tutulmayan tablolar

Soru
-
Merhabalar, kullandığım erp programdaki şirket kodlarını değiştirmek istiyorum. bu şirket kodları 370 tane tabloda tutuluyor ancak bu tabloların hepsi kullanılmamakta. Bazı tablolarda veriler tutuluyor bazılarında tutulmuyor. verileri barındıran tabloları nasıl bulabilirim yardımcı olur musunuz?
SELECT s.name
FROM sysobjects s
inner join syscolumns c on s.id=c.id
WHERE (s.xtype = 'u') and c.name='SUBE_KODU' bu sorgu sonucunda "SUBE_KODU" kolonu olan tablolara erişebiliyorum. bunların hangilerinde veriler tutuluyor bunları bulmam gerekiyor. tek tek select mi çekmem gerekiyor?
Yanıtlar
-
SELECT A.Name, SUM(B.rows) AS 'RowCount'
FROM sys.objects A
INNER JOIN sys.partitions B ON A.object_id = B.object_id
WHERE A.type = 'U'
GROUP BY A.Name
HAVING SUM(B.rows) > 0- Yanıt Olarak İşaretleyen Burak ORDU 8 Ocak 2015 Perşembe 16:05
-
Aşağıda ki şekilde bunu yapabilirsin. Veri tutulmayan yani kayıt bulunmayan tablolar için update işlemini ne diye çalıştıracaksın pek anlamadım. Aşağıda ki örnek üzerinden yola çıkabilirsin diye düşünüyorum
Not : Veri tabanında bulunan tüm SUBE_KODU kolonları için çalışacaktır. Öncelikle test db ortamında çalıştır.
DECLARE @p1 nvarchar(50) DECLARE @SqlCommand nvarchar(max) DECLARE crs CURSOR FOR SELECT A.Name FROM sys.objects A INNER JOIN sys.columns c ON c.object_id = A.object_id WHERE A.type = 'U' AND c.name='SUBE_KODU' OPEN crs FETCH NEXT FROM crs INTO @p1 WHILE @@FETCH_STATUS=0 BEGIN SET @SqlCommand='Update '+@p1+' set SUBE_KODU=0' exec sp_executesql @SqlCommand PRINT @p1 +' tablosunda ki SUBE_KODU güncellendi' FETCH NEXT FROM crs INTO @p1 END CLOSE crs DEALLOCATE crs
- Düzenleyen Cengiz Gür 6 Ocak 2015 Salı 11:54
- Yanıt Olarak İşaretleyen Burak ORDU 8 Ocak 2015 Perşembe 16:05
Tüm Yanıtlar
-
SELECT A.Name, SUM(B.rows) AS 'RowCount'
FROM sys.objects A
INNER JOIN sys.partitions B ON A.object_id = B.object_id
WHERE A.type = 'U'
GROUP BY A.Name
HAVING SUM(B.rows) > 0- Yanıt Olarak İşaretleyen Burak ORDU 8 Ocak 2015 Perşembe 16:05
-
-
Aşağıda ki şekilde bunu yapabilirsin. Veri tutulmayan yani kayıt bulunmayan tablolar için update işlemini ne diye çalıştıracaksın pek anlamadım. Aşağıda ki örnek üzerinden yola çıkabilirsin diye düşünüyorum
Not : Veri tabanında bulunan tüm SUBE_KODU kolonları için çalışacaktır. Öncelikle test db ortamında çalıştır.
DECLARE @p1 nvarchar(50) DECLARE @SqlCommand nvarchar(max) DECLARE crs CURSOR FOR SELECT A.Name FROM sys.objects A INNER JOIN sys.columns c ON c.object_id = A.object_id WHERE A.type = 'U' AND c.name='SUBE_KODU' OPEN crs FETCH NEXT FROM crs INTO @p1 WHILE @@FETCH_STATUS=0 BEGIN SET @SqlCommand='Update '+@p1+' set SUBE_KODU=0' exec sp_executesql @SqlCommand PRINT @p1 +' tablosunda ki SUBE_KODU güncellendi' FETCH NEXT FROM crs INTO @p1 END CLOSE crs DEALLOCATE crs
- Düzenleyen Cengiz Gür 6 Ocak 2015 Salı 11:54
- Yanıt Olarak İşaretleyen Burak ORDU 8 Ocak 2015 Perşembe 16:05