SQL Server-如何使varchar自动递增

时间:2018-08-21 12:01:35

标签: sql sql-server

我正在尝试运行以下脚本,但是失败了,我不知道为什么:

DROP TABLE table;
CREATE SEQUENCE seq START WITH 0;
CREATE TABLE table (
    id VARCHAR(512) PRIMARY KEY AS ('0000000000' + CAST(NEXT VALUE FOR seq AS VARCHAR(512)), 10),
    field VARCHAR(512),
    field VARCHAR(512)
);

我想将数字强制转换为字符串,以匹配代码其他部分的要求

1 个答案:

答案 0 :(得分:4)

另一种方法呢?只需在表中使用identity列即可。然后添加一个生成的列来提供您的字符串表示形式:

CREATE TABLE t (
    t_id int identity(1, 1) primary key,
    t_id_str as (right('0000000000' + CAST(t_id AS VARCHAR(512)), 10))
);