आप जो चाहते हैं उसे करने के दो तरीके यहां दिए गए हैं। तथ्य यह है कि आप EmpCode
. पर अद्वितीय बाधा उल्लंघन के साथ समाप्त हो सकते हैं मैं आपको चिंता करने के लिए छोड़ दूँगा :)।
1. scope_identity()
का इस्तेमाल करें
अंतिम सम्मिलित आईडी प्राप्त करने के लिए और इसका उपयोग EmpCode
. की गणना करने के लिए करें ।
तालिका परिभाषा:
create table Employees
(
ID int identity primary key,
Created datetime not null default getdate(),
DistrictCode char(2) not null,
EmpCode char(10) not null default left(newid(), 10) unique
)
कर्मचारियों के लिए एक पंक्ति जोड़ें। लेन-देन में यह सुनिश्चित करने के लिए किया जाना चाहिए कि आपको left(newid(), 10)
से डिफ़ॉल्ट यादृच्छिक मान के साथ नहीं छोड़ा जाएगा EmpCode
. में :
declare @ID int
insert into Employees (DistrictCode) values ('AB')
set @ID = scope_identity()
update Employees
set EmpCode = cast(year(Created) as char(4))+DistrictCode+right([email protected], 4)
where ID = @ID
2. EmpCode
बनाएं a गणना कॉलम
।
तालिका परिभाषा:
create table Employees
(
ID int identity primary key,
Created datetime not null default getdate(),
DistrictCode char(2) not null,
EmpCode as cast(year(Created) as char(4))+DistrictCode+right(10000+ID, 4) unique
)
कर्मचारियों में एक पंक्ति जोड़ें:
insert into Employees (DistrictCode) values ('AB')