我创建一个表和序列以替换表中的标识,我使用SQL Server 2012 Express,但在尝试向表中插入数据时收到此错误
T-SQL代码:
insert into Job_Update_Log(log_id, update_reason, jobid)
values((select next value for Job_Log_Update_SEQ),'grammer fixing',39);
这是我的 table :
create table Job_Update_Log
(
log_id int primary key ,
update_reason nvarchar(100) ,
update_date date default getdate(),
jobid bigint not null,
foreign key(jobid) references jobslist(jobid)
);
这是我的顺序:
CREATE SEQUENCE [dbo].[Job_Log_Update_SEQ]
AS [int]
START WITH 1
INCREMENT BY 1
NO CACHE
GO
最佳答案
只需摆脱VALUES部分中的subselect,就像这样:
insert into Job_Update_Log(log_id,update_reason,jobid)
values (next value for Job_Log_Update_SEQ,'grammer fixing',39);
引用:http://msdn.microsoft.com/en-us/library/hh272694%28v=vs.103%29.aspx
关于SQL Server 2012序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12745037/