如何为Identity Column的起始值分配唯一的起始值[SQL Server 2014]

时间:2017-09-11 09:46:15

标签: sql sql-server identity-column

例如,我有UserId列,它是我表的标识列。 当我向表中添加新数据时,UserId自动分配1。如果输入新数据,则列中的数字逐个增加。

UserId - UserName - UserLastName
1        asd        asd
2        xyz        xyz

我想更改UserId的起始值并根据我的条件增加它。

UserId - UserName - UserLastName
US1        asd        asd
US2        xyz        xyz

是否可以像上面一样增加字符串值?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Oracle数据库,则可以为其创建触发器。

 Create or Replace TRIGGER "SYSTEM".Trigger_Name 
    BEFORE INSERT ON Table_Name 
    FOR EACH ROW 
    BEGIN
      <<COLUMN_SEQUENCES>>
      BEGIN
        IF INSERTING AND :NEW.UserID IS NULL THEN
          SELECT 'US'||to_char(Sequence_Name.NEXTVAL,'FM00') INTO :NEW.UserID FROM SYS.DUAL;
        END IF;
      END COLUMN_SEQUENCES;
    END;