• sharonsql2013 (7/5/2013)


    Hi

    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

    Lowell


    --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!