Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 列上的SQL检查约束并忽略默认值,出错_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 列上的SQL检查约束并忽略默认值,出错

Sql server 列上的SQL检查约束并忽略默认值,出错,sql-server,sql-server-2008,Sql Server,Sql Server 2008,SQL Server 2008 这是我得到的错误消息。 错误:Msg 547,16级,状态0,第1行 INSERT语句与检查约束“CK_us_ODS_L2_uactiv_7A5F6E76”冲突。冲突发生在数据库“SourceDB”、表“dbo.Datatbl”、列“ACTIVE_FLAG”中 但此列的默认值为“Y”。 这是表脚本 使用[SourceDB] 去 这是我的插入查询 INSERT INTO Datatbl (BATCH_NB, RCRD_NB, STS_CD, ENTR_DT, CO

SQL Server 2008 这是我得到的错误消息。 错误:Msg 547,16级,状态0,第1行 INSERT语句与检查约束“CK_us_ODS_L2_uactiv_7A5F6E76”冲突。冲突发生在数据库“SourceDB”、表“dbo.Datatbl”、列“ACTIVE_FLAG”中

但此列的默认值为“Y”。 这是表脚本 使用[SourceDB] 去

这是我的插入查询

INSERT INTO Datatbl 
(BATCH_NB,
RCRD_NB,
STS_CD,
ENTR_DT,
COMMENTS_TXT,
ACTIVE_FLAG,
Err_CD,
Source_Fld_Name,
Source_Fld_Val,
Error_Desc,
ISRT_USR,
UPDT_USR,
ISRT_DT,
UPDT_DT,
ProcessDate)        
Values (
46401, --Batch
'308', --Rcrd_NB
'1', --STS_CD
'2014-03-07 15:03:11.000000', -- Entr_DT
'Comments test', --comments
'', -- Active_flag, see no value here
'',--Err_Cd
'',--Src_Fld_Nm
'',--Src_Fld_Val
'Error description ', --ErrDesc
'${user_id}', --Inst User
'', --Updt User
'2014-03-07 15:03:11.958578', --ISRT_DT
'',--UPDT_DT
'01/15/2014') -- Processdate
直到最近,这种方法还可以很好地工作,但不知怎么的,它不起作用了。 我不确定数据库方面是否发生了变化,或者数据是否是问题所在

有什么想法吗。让我知道

谢谢,
辛迪

查询的问题是,您为ACTIVE_标志添加了一个值“”,当您向列传递一个值时,将不采用默认值

如果要在列中插入默认值:- (1) 只需从iNSERT命令中删除列及其值 或 (2) 将其替换为默认关键字(“”不等同于“Y”或“N”,这是根本原因)

INSERT INTO Datatbl 
(BATCH_NB,
RCRD_NB,
STS_CD,
ENTR_DT,
COMMENTS_TXT,
ACTIVE_FLAG,
Err_CD,
Source_Fld_Name,
Source_Fld_Val,
Error_Desc,
ISRT_USR,
UPDT_USR,
ISRT_DT,
UPDT_DT,
ProcessDate)        
Values (
46401, --Batch
'308', --Rcrd_NB
'1', --STS_CD
'2014-03-07 15:03:11.000000', -- Entr_DT
'Comments test', --comments
'', -- Active_flag, see no value here
'',--Err_Cd
'',--Src_Fld_Nm
'',--Src_Fld_Val
'Error description ', --ErrDesc
'${user_id}', --Inst User
'', --Updt User
'2014-03-07 15:03:11.958578', --ISRT_DT
'',--UPDT_DT
'01/15/2014') -- Processdate
INSERT INTO Datatbl 
(BATCH_NB,
RCRD_NB,
STS_CD,
ENTR_DT,
COMMENTS_TXT,
ACTIVE_FLAG,
Err_CD,
Source_Fld_Name,
Source_Fld_Val,
Error_Desc,
ISRT_USR,
UPDT_USR,
ISRT_DT,
UPDT_DT,
ProcessDate)        
Values (
46401, --Batch
'308', --Rcrd_NB
'1', --STS_CD
'2014-03-07 15:03:11.000000', -- Entr_DT
'Comments test', --comments
--'', -- Active_flag, see no value here
DEFAULT, -- value replaced with default
'',--Err_Cd
'',--Src_Fld_Nm
'',--Src_Fld_Val
'Error description ', --ErrDesc
'${user_id}', --Inst User
'', --Updt User
'2014-03-07 15:03:11.958578', --ISRT_DT
'',--UPDT_DT
'01/15/2014') -- Processdate