PDA

View Full Version : استخراج ستونهای جدول به همراه نوع و سایز



Ghalandari
یک شنبه 07 خرداد 1385, 22:09 عصر
می خواستم ببینم چطور میشه نام ستونهای یک جدول به همراه Type و سایز اونها رو استخراج کرد( به صورت جدول برای استفاده در برنامه)

Kamyar.Kimiyabeigi
دوشنبه 08 خرداد 1385, 07:25 صبح
در مورد سوالتونم باید بگم که sp_help کمکتون میکنه
کد:


execute sp_help 'dbo.Orders'

h_baqery
دوشنبه 08 خرداد 1385, 08:39 صبح
اینم یه راه دیگس:
کد :

USE Northwind
SELECT ob.name ,Col.Name,Col.Xtype,Length
FROM syscolumns col INNER JOIN sysobjects ob
ON Col.Id = Ob.Id
WHERE Ob.Name = 'Orders'
البته هر کدی برای xtype نشاندهنده یکنوع است مثلا 56 یعنی int و 167 یعنی varchar و 58 یعنی smalldatetime و .... که با یک جدول نمونه خودتون می تونید بقیه رو بفهمید.

Ghalandari
سه شنبه 09 خرداد 1385, 05:51 صبح
دوست عزیر Kamyar.Kimiyabeigi من از sp_help استفاده کردم اون چیزی که می خواستم نبود
من از روش h_baqery هم استفاده کردم با این تفاوت که اونو با جدول xtype هم Join کردم ولی جواب درست بم نمی ده و بعضی از ستونها رو از نوع sysname استخراج میکنه

Kamyar.Kimiyabeigi
سه شنبه 09 خرداد 1385, 11:53 صبح
SELECT * FROM INFORMATION_SCHEMA.COLUMNS

Ghalandari
چهارشنبه 10 خرداد 1385, 15:19 عصر
دوستان عزیز من مشکلم رو با کد زیر حل کردم
SELECT dbo.sysobjects.name AS TableName, dbo.syscolumns.name AS ColumnName, dbo.systypes.name AS Type, dbo.syscolumns.length
FROM dbo.sysobjects INNER JOIN
dbo.syscolumns ON dbo.sysobjects.id = dbo.syscolumns.id INNER JOIN
dbo.systypes ON dbo.syscolumns.xtype = dbo.systypes.xtype
WHERE (dbo.sysobjects.xtype LIKE 'U') AND (dbo.sysobjects.name <> 'dtproperties') AND (dbo.systypes.name <> 'sysname')

ولی روش Kamyar.Kimiyabeigi و استفاده از

SELECT * FROM INFORMATION_SCHEMA.COLUMNS

مناسبتره
باتشکر از همه دوستان