I declared the primary key as identity int.
Now everytime a value(code) is selected from the grid , I want a corresponding character to be concatenated to the primary key( integer) and stored in another column.
Example : if code = student then add "S" to "1" and store S1 to another column.
else if code = Teacher then add "T" to 2 and store T2.
How should I implement this logic?
i would create a view, which joins your two tables together, and creates a calculated value with the logic you describe;
there's no need to store the data, just return the desired data when queries;
plus you get the added benefit of the view always returning the correct data, and when some student gets promoted to a teacher, you don't have to update his data because of this...it's always right as long as you changed your other table to now say he is a teacher, or teachers assistant, or whether is appropriate.
CASE WHEN T2.SomeColumn = 'SomethingAboutStudent'
THEN 'S' + CONVERT(Varchar,T1.PK)
WHEN T2.SomeColumn = 'SomethingAboutTeacher'
THEN 'T' + CONVERT(Varchar,T1.PK)
ELSE 'U' + CONVERT(Varchar,T1.PK) END As MyIndicator
--help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!