Deepika chikyala
Deepika chikyala

Reputation: 19

How do you auto increment a varchar value in db2?

I have tried this but I'm getting an error:

SQLCODE = -104, ERROR: ILLEGAL SYMBOL "'T'". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: LOCATOR SECURITY

CREATE TABLE STUDENT_REGISTER
(              
SNO INT NOT NULL ,                          
STUDENT_ID AS 'T'+CAST( SNO AS VARCHAR(10)) 
PERSISTED PRIMARY KEY,                      
FIRST_NAME VARCHAR(20),                     
LAST_NAME VARCHAR(20),                      
DATE_OF_BIRTH DATE,                         
ADDRESS VARCHAR(100),                       
MOBILE_NO BIGINT                            
)   

Upvotes: 1

Views: 511

Answers (1)

Nishant Srivastava
Nishant Srivastava

Reputation: 379

You can write a trigger instead,

CREATE TRIGGER foo BEFORE INSERT ON STUDENT_REGISTER FOR EACH ROW
  IF NEW.STUDENT_ID IS NULL THEN
    SET NEW.STUDENT_ID := 't' + NEW.SNO;
  END IF;;

You can try this out and let me know , i haven't tried it out myself but i am quite sure that it should work so please try it and let me know if it worked or not

Upvotes: 1

Related Questions