PDA

View Full Version : ایجاد قید



javad_r_85
سه شنبه 12 مرداد 1389, 18:44 عصر
با سلام .من جدولی به نام customers دارم که در این جدول فیلدی به نام phone وجود دارد ومن می خوام قیدی برای آن ایجاد کنم که شماره وارده 10 رقمی و بین 0-9 باشد مثلا اینجوری وارد شود 8456-712 (021) واین کد را نیز نوشتم ولی مشکل دارد .دوستان لطف کنن راهنمایی کنند.

ALTER TABLE Customers
with nocheck
ADD CONSTRAINT CN_CustomerPhoneNo
CHECK
(Phone LIKE '([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]')

محمد سلیم آبادی
سه شنبه 12 مرداد 1389, 19:44 عصر
سلام
قیدی که نوشتین کاملا درسته. ولی در قید ابتدا سه رقم جدا شده سپس چهار رقم (به غیر از پرانتز) ولی در مثالی که آوردین ابتدا چهار رقم و سپس سه رقم.
در هر حال اگر مشکل به این جابجایی بر میگرده که میشه بسادگی اصلاحش کرد.
منطق LIKE را به شکل زیر نیز می توانید در بیارین:

ALTER TABLE Customers
with nocheck
ADD CONSTRAINT CN_CustomerPhoneNo
CHECK (Phone NOT LIKE '%[^-0-9() ]%'
AND Phone LIKE '(___) ___-____');