I am encountering this kind of advance SQL coding task like generating an auto-increment primary key ID that consists of a year, a special char and a sequential seri
You should go through Computed column, which helps to manage your design. Please refer below example.
CREATE TABLE #test(id INT IDENTITY(1,1) PRIMARY KEY,
Stud_ID AS CAST(YEAR(GETDATE()) as VARCHAR(4)) +'-'+ REPLICATE('0', 5 - DATALENGTH(CAST(id as VARCHAR(10))))+ CAST(id as VARCHAR(10)),
Stud_LName VARCHAR(100),
Stud_FName VARCHAR(100),
Stud_MName VARCHAR(100)
)
INSERT INTO #test(Stud_LName, Stud_FName, Stud_MName)
values
('lname_1' , 'fname 1', 'mname 1'),
('lname_2' , 'fname 2', 'mname 2'),
('lname_3' , 'fname 3', 'mname 3'),
('lname_4' , 'fname 4', 'mname 4'),
('lname_5' , 'fname 5', 'mname 5'),
('lname_6' , 'fname 6', 'mname 6'),
('lname_7' , 'fname 7', 'mname 7'),
('lname_8' , 'fname 8', 'mname 8'),
('lname_9' , 'fname 9', 'mname 9'),
('lname_10', 'fname 10', 'mname 10')
select * from #test;
DROP TABLE #test;