PDA

View Full Version : getting data type and description coulmns view in sql server 2008



minaalamshahi
یک شنبه 19 شهریور 1391, 11:28 صبح
با سلام
من احتیاج دارم در یک select بتونم datatype و description فیلدهای یک view رو با هم بدست بیارم
توی search تونستم جداد جدا اونا رو بدست بیارم اما بلد نیستم join بدم ممنون میشم راهنماییم کنید

baktash.n81@gmail.com
یک شنبه 19 شهریور 1391, 11:54 صبح
سلام
می تونید از کد زیر استفاده کنید در قسم ViewName اسم ویوی مورد نظرتون رو بنویسید ...


Select * from syscolumns as C Join sysobjects on c.id=sysobjects.id where sysobjects.name='ViewName'

minaalamshahi
یک شنبه 19 شهریور 1391, 11:58 صبح
این که نه description رو میده نه datatype رو

minaalamshahi
یک شنبه 19 شهریور 1391, 12:00 عصر
SELECT c.name AS 'COLUMN_NAME', ep.value AS 'ColumnDescription', c.max_length, c.is_identity,c.is_nullable
FROM sys.columns AS c INNER JOIN
INFORMATION_SCHEMA.VIEW_COLUMN_USAGE AS vcu ON OBJECT_ID(vcu.TABLE_NAME) = c.object_id AND vcu.COLUMN_NAME = c.name INNER JOIN
sys.extended_properties AS ep ON c.object_id = ep.major_id AND c.column_id = ep.minor_id
where vcu.VIEW_NAME=@SourceName and c.name in (@STRING)


من از کد بالا برای view ها استفاده می کنم اما data type فیلد ها رو هم میخوام داشته باشم

minaalamshahi
یک شنبه 19 شهریور 1391, 12:03 عصر
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'View_2'

این دیتا تایپ رو میده اما بلد نیستم با کد تاپیک بالا join بدم
چون ازشون سر در نمیارم

minaalamshahi
یک شنبه 19 شهریور 1391, 16:25 عصر
میشه ارتباط و relation بین این جدولها رو برام یه کم روشن کنید تا خودم بتونم بینشون رابطه بدم؟

minaalamshahi
دوشنبه 20 شهریور 1391, 09:44 صبح
برای table از این راه استفاده می کنم اما view رو نمی دونم میشه با تغییر توی همین بدست اورد؟



SELECT sys.columns.name AS ColumnName, sys.types.name AS ColumnType,
(SELECT value
FROM sys.extended_properties
WHERE (major_id = sys.columns.object_id) AND (minor_id = sys.columns.column_id) AND (class = 1)) AS ColumnDescription, sys.columns.max_length,
sys.columns.is_identity, sys.columns.is_nullable
FROM sys.columns INNER JOIN
sys.tables ON sys.columns.object_id = sys.tables.object_id INNER JOIN
sys.types ON sys.columns.user_type_id = sys.types.user_type_id INNER JOIN
sys.schemas ON sys.tables.schema_id = sys.schemas.schema_id
WHERE (sys.tables.name = @SourceName) AND (sys.schemas.name = 'dbo')