information_schema.columns
arasından seçerek benzer şekilde view
sütun adlarını seçmeye çalışıyorum.Görünümün Sütunları Seç
Bunu yapmanın bir yolunu bulamıyorum. Bunu daha önce yapmış mıydı, yoksa mümkün olup olmadığını biliyor mu?
information_schema.columns
arasından seçerek benzer şekilde view
sütun adlarını seçmeye çalışıyorum.Görünümün Sütunları Seç
Bunu yapmanın bir yolunu bulamıyorum. Bunu daha önce yapmış mıydı, yoksa mümkün olup olmadığını biliyor mu?
, veritabanı içinde nesneler hakkında meta tutar. INFORMATION_SCHEMA.COLUMNS, meta verileri geri almak için temel sys tablolarını kullanır (sp_helptext 'master.Information_schema.columns'). Herhangi bir görünümde kullanılan sütun adlarını seçmek için bu daha basit sorguyu kullanabilirsiniz.
SELECT col.name
FROM <db_name>.sys.columns col, <db_name>.sys.views vew
WHERE col.object_id = vew.object_id
AND vew.name = '<view_name>'
bu deneyin:
SELECT *
FROM sys.views
Bu, örneğin Gösterim verir - Sütunları gerekiyorsa, bunu kullanın:
SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.YourViewNameHere')
emin değil misiniz INFORMATION_SCHEMA
kullanarak bunu nasıl - Ben Bunu asla kullanmayın çünkü sys
şema kataloğu görünümleriyle karşılaştırıldığında, "rahatsız edici" ve "bilinçsiz" olduğunu hisseder.
Mevcut tüm görünümlerin tüm ayrıntıları ve içerdikleri bilgiler için MSDN docs on the Catalog Views'a bakın. yani sadece
SELECT * FROM information_schema.columns WHERE table_name = 'VIEW_NAME'
Bu, tüm görünümlerin adını verir, ancak görünümdeki sütunların adlarını değil. – steventnorris
SELECT distinct VIEW_NAME
,TABLE_SCHEMA
,TABLE_NAME
,COLUMN_NAME
FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
--WHERE TABLE_SCHEMA = 'Person'
ORDER BY
VIEW_NAME
,TABLE_SCHEMA
,TABLE_NAME
,COLUMN_NAME
Bu çok ilginç bir sorgundur, ancak aslında döndürülen görünüm sütunlarını değil, sorgudaki sonuçları almak için kullanılan tablo sütunlarını döndürür. Bu nedenle, bu cevap için yanlıştır, ancak hiçbiri çok daha az değildir. – AnthonyVO
ınformatıon_schema görünümlerini kullanabilirsiniz (Sunucu 2000, en azından Sql altında) görüntülemeleri içerir information_schema.columns.Table_name
yığınınıza hoş geldiniz, her ne zaman bir soruyu cevaplandırırsanız, her zaman çözümün kurşunun nasıl yardımcı olacağını açıklamaya çalışın. lütfen biraz zaman ayırın ve cevabınızı düzenleyin –
'FROM' yan tümcesinde çoklu tablo yerine' JOIN' kullanabilirsiniz. Yani sorgu SELECT col.name FROM sys.columns col olacak JOIN sys.views vew ON col.object_id = vew.object_id WHERE vew.name = '
, SSMS 2012 – Imad
Benim için hiçbir şey döndürmedi. Teşekkürler! –