End*_*ono 22 t-sql sql-server sequence sql-server-2012
我已经创建了一个序列:
create sequence mainseq as bigint start with 1 increment by 1
Run Code Online (Sandbox Code Playgroud)
如何将此序列用作列的默认值?
create table mytable(
id bigint not null default mainseq -- how?
code varchar(20) not null
)
Run Code Online (Sandbox Code Playgroud)
End*_*ono 33
结果很简单:
create table mytable (
id bigint not null constraint DF_mytblid default next value for mainseq,
code varchar(20) not null
)
Run Code Online (Sandbox Code Playgroud)
或者如果表已经创建:
alter table mytable
add constraint DF_mytblid
default next value for mainseq
for id
Run Code Online (Sandbox Code Playgroud)
(谢谢Matt Strom的更正!)
Mat*_*rom 13
ALTER语句不完整.它需要另一个FOR子句来将默认值分配给所需的字段.
ALTER TABLE mytable
ADD CONSTRAINT DF_mytblid
DEFAULT (NEXT VALUE FOR mainseq) FOR [id]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31615 次 |
| 最近记录: |