خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


استفاده از تابع ()COLUMNPROPERTY در SQL Server

استفاده از تابع ()COLUMNPROPERTY در SQL Server
در SQL Server ، تابع COLUMNPROPERTY اطلاعات ستون یا پارامتر را برمی گرداند. به عنوان مثال ، می توانید از آن برای برگرداندن اطلاعات مربوط به یک ستون در یک جدول ، یک پارامتر برای یک stored procedure و غیره استفاده کنید. این تابع سه پارامتر می تواند دریافت کند. اولی شناسه جدول یا procedure، دومی نام ستون یا پارامتر و سومی ویژگی مورد نظرتان است. در ادامه با ذکر مثال با طرز کار و نحوه استفاد این تابع آشنا می شوید.

سیستم یکپارچۀ سازمانی راهکار
Syntax استفاده از تابع COLUMNPROPERTY بصورت زیر می باشد:



COLUMNPROPERTY ( id , column , property )

در این مثال ، اطلاعاتی راجع به یک ستون در جدول مورد نظر را مشاهده می کنیم:

USE Music;
SELECT
COLUMNPROPERTY(OBJECT_ID('Artists'), 'ArtistId', 'AllowsNull') AS [Result];

+----------+
| Result |
|----------|
| 0 |
+----------+

در این مثال، ما ستون ArtistId را به تابع دادیم و همانطور که دیدید این یک ستون Nullable نیست و در نتیجه در خروجی 0 نمایش داده شد. در مثال زیر، ویژگی های دیگری را از ستونهای دیگر جدول بررسی می کنیم:

SELECT
COLUMNPROPERTY(OBJECT_ID('Artists'), 'ActiveFrom', 'AllowsNull') AS [ActiveFrom],
COLUMNPROPERTY(OBJECT_ID('Artists'), 'ActiveFrom', 'Precision') AS [Precision],
COLUMNPROPERTY(OBJECT_ID('Artists'), 'ActiveFrom', 'Scale') AS [Scale];

+--------------+-------------+---------+
| ActiveFrom | Precision | Scale |
|--------------+-------------+---------|
| 1 | 10 | 0 |
+--------------+-------------+---------+

در این مثال، ستون ActiveFrom مقادیر Null را قبول کرده و دارای دقت 10 و مقیاس 0 است. همانطور که در مثال فوق مشاهده کردید، از تابع OBJECT_ID برای برگرداندن شناسه شی(در این جا جدول) استفاده شده است و در غیر اینصورت خود شما باید شناسه مربوط بدان را بدانید. مثلا در مثال زیر با استفاده از تابع OBJECT_ID، شناسه جدول Artists را در خروجی مشاهده خواهید کرد.

SELECT OBJECT_ID('Artists') AS Result;

+-----------+
| Result |
|-----------|
| 885578193 |
+-----------+

اکنون که شناسه حدول را بدست آوردیم، حالا آن را به عنوان پارامتر اول به تابع COLUMNPROPERTY پاس می دهیم.

SELECT
COLUMNPROPERTY(885578193, 'ActiveFrom', 'AllowsNull') AS [ActiveFrom],
COLUMNPROPERTY(885578193, 'ActiveFrom', 'Precision') AS [Precision],
COLUMNPROPERTY(885578193, 'ActiveFrom', 'Scale') AS [Scale];

+--------------+-------------+---------+
| ActiveFrom | Precision | Scale |
|--------------+-------------+---------|
| 1 | 10 | 0 |
+--------------+-------------+---------+

در مثال زیر، اطلاعاتی یک پارامتر را از یک stored procedure مشاهده خواهیم کرد:


USE Music;
SELECT
COLUMNPROPERTY(
OBJECT_ID('dbo.uspGetAlbumsByArtist'),
'@ArtistId',
'IsOutParam') AS [Result];

+----------+
| Result |
|----------|
| 0 |
+----------+

همانطور که دیدید، Syntax مربوط به SP با جدول یکسان است. و ArtistId هم یک پارامتر خروجی نیست.
در مثال های فوق تنها از برخی از ویژگی ها استفاده شد. در لیست زیر، فهرست کاملی از Property هایی که در کار با تابع مذکور می توانید استفاده کنید مشاهده می کنید:

AllowsNull
ColumnId
FullTextTypeColumn
GeneratedAlwaysType
IsColumnSet
IsComputed
IsCursorType
IsDeterministic
IsFulltextIndexed
IsHidden
IsIdentity
IsIdNotForRepl
IsIndexable
IsOutParam
IsPrecise
IsRowGuidCol
IsSparse
IsSystemVerified
IsXmlIndexable
Precision
Scale
StatisticalSemantics
SystemDataAccess
UserDataAccess
UsesAnsiTrim


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز