PDA

View Full Version : خاصیت identity



mahrokh202
چهارشنبه 05 شهریور 1393, 10:42 صبح
سلام
من یه جدول فروش دارم که یه id داره و یه شماره فاکتور
هردو اینها رو باید identity تعریف کنم ولی sql اجازه نمیده دو مقدار با این خاصیت داشته باشم
از اونجا که نباید id رو در معرض دید کاربر قرار بدیم و هر دوی این مقادیر باید identity باشن شما چه راهی رو پیشنهاد میکنید؟

mohammad reza beizavi
دوشنبه 17 شهریور 1393, 01:35 صبح
اینکه Id نباید در معرض دید کاربر باشه برای جاهاییه که دسترسی به سیستم داشته باشه و بتونه مشکلی ایجا کنه نه برای مشتری که فاکتور فقط بهش می رسه.
اما پیشنها اینکه یه ستون Id بسازید که identity اون رو yes کنید و یک فیلد دیگه مثلا با نام factId بسازید که با یه مقدار ثابت جمع بشه و به عنوان شماره فاکتور ازش استفاده کنید.
کوئری ساختن جدولتون مثل این باشه:


create table Factors(
Id int identity(1,1) not null primary key,
FactId as Id+110, -- computed column
FactDate datetime null
)
توی این جدول هر مقداری که Id بگیره مقدار 110 بهش اضافه میشه و توی فیلد شماره فاکتور قرار میگیره.