insert into Mat_FetchDetail(matcode,title,spec,qua_rule
,reserve_dtl_str1,PlantoTakeNum,UnitName,ActualGetNum,canUseNum,canUseActNum
,ConversionUnit,fetchMethod,Re) select c.matcode,c.title,c.spec,c.qua_rule,c.reserve_dtl_str1,c.asknum,c.UnitName,'',
'','',c.ConversionUnit,'',c.Re
from (select b.ask_sid from Mat_Fetch a inner join mat_purchaseask b
on a.ask_code=b.ask_code where a.ask_code='9CTDS201101001')e inner join Mat_PurchaseAskDetail c
on e.ask_sid=c.ask_sid消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'FetchDetail_Sid',表 'powerOn0117.dbo.Mat_FetchDetail';列不允许有空值。INSERT 失败。
语句已终止。
,reserve_dtl_str1,PlantoTakeNum,UnitName,ActualGetNum,canUseNum,canUseActNum
,ConversionUnit,fetchMethod,Re) select c.matcode,c.title,c.spec,c.qua_rule,c.reserve_dtl_str1,c.asknum,c.UnitName,'',
'','',c.ConversionUnit,'',c.Re
from (select b.ask_sid from Mat_Fetch a inner join mat_purchaseask b
on a.ask_code=b.ask_code where a.ask_code='9CTDS201101001')e inner join Mat_PurchaseAskDetail c
on e.ask_sid=c.ask_sid消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'FetchDetail_Sid',表 'powerOn0117.dbo.Mat_FetchDetail';列不允许有空值。INSERT 失败。
语句已终止。
ALTER TABLE table_name
ALTER COLUMN FetchDetail_Sid INT NULL
如下修正(字段为字符类型为例)
insert into Mat_FetchDetail(matcode,title,spec,qua_rule
,reserve_dtl_str1,PlantoTakeNum,UnitName,ActualGetNum,canUseNum,canUseActNum
,ConversionUnit,fetchMethod,Re,FetchDetail_Sid)
select c.matcode,c.title,c.spec,c.qua_rule,c.reserve_dtl_str1,c.asknum,c.UnitName,'',
'','',c.ConversionUnit,'',c.Re,isnull(FetchDetail_Sid,'')
from (select b.ask_sid from Mat_Fetch a inner join mat_purchaseask b
on a.ask_code=b.ask_code where a.ask_code='9CTDS201101001')e inner join Mat_PurchaseAskDetail c
on e.ask_sid=c.ask_sid
INSERT INTO @t SELECT null/*
Cannot insert the value NULL into column 'id', table '@t';
column does not allow nulls. INSERT fails.
*/
楼主,你的字段FetchDetail_Sid是不是主关键字段值啊,要不要设置不自动增长的,如果要,你就设置为自动增长了,如果不要而且又是主关键字段,那么要另外处理;如果不是主关键字段,就反它设置为允许NULL值就可以了。
现在存在FetchDetail_Sid不能为空。有约束。
要么就写全列名,要么去掉not null属性!