update T_土建装饰工程造价指标和指数 set 项目ID=@xmbh,项目=@项目,报告期数量和价格=@报告期数量和价格,报告期数量定额取定价=@报告期数量定额取定价, 价格基数ID=@价格基数ID where 项目=@项目 and 价格基数ID=@价格基数ID --- 至少得加一个where 呀 update T_土建装饰工程造价指标和指数 set 项目ID=@xmbh,项目=@项目,报告期数量和价格=@报告期数量和价格,报告期数量定额取定价=@报告期数量定额取定价, 价格基数ID=@价格基数ID where 项目=@项目 and 价格基数ID=@价格基数ID where 项目=@项目 and 价格基数ID=@价格基数ID 另外直接换成after吧
alter TRIGGER Tig_Insert土建装饰工程造价指标和指数_导入 ON dbo.T_土建装饰工程造价指标和指数_导入 after INSERT AS DECLARE @项目ID int DECLARE @项目 VARCHAR(50) DECLARE @报告期数量和价格 decimal(18,3) DECLARE @报告期数量定额取定价 decimal(18,3) DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int select @xmbh=ID from T_工程概况 if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID)) begin update a set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格, a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID from T_土建装饰工程造价指标和指数 a left join inserted i on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 end else begin INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID) select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID from T_土建装饰工程造价指标和指数 a left join inserted i on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 end
加一个条件,随手的你试试alter TRIGGER Tig_Insert土建装饰工程造价指标和指数_导入 ON dbo.T_土建装饰工程造价指标和指数_导入 after INSERT AS DECLARE @项目ID int DECLARE @项目 VARCHAR(50) DECLARE @报告期数量和价格 decimal(18,3) DECLARE @报告期数量定额取定价 decimal(18,3) DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int select @xmbh=ID from T_工程概况 if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID)) begin update a set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格, a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID from T_土建装饰工程造价指标和指数 a left join inserted i on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 end else begin INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID) select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID from T_土建装饰工程造价指标和指数 a left join inserted i on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 where not exists(selet 1 from T_土建装饰工程造价指标和指数 where 项目=i.项目 and 价格基数ID=i.价格基数ID) end
alter TRIGGER Tig_Insert土建装饰工程造价指标和指数_导入 ON dbo.T_土建装饰工程造价指标和指数_导入 after INSERT AS DECLARE @项目ID int DECLARE @项目 VARCHAR(50) DECLARE @报告期数量和价格 decimal(18,3) DECLARE @报告期数量定额取定价 decimal(18,3) DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int select @xmbh=ID from T_工程概况 if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID)) begin update a set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格, a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID from inserted i left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 end else begin INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID) select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID from inserted i left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 where not exists(selet 1 from T_土建装饰工程造价指标和指数 where 项目=i.项目 and 价格基数ID=i.价格基数ID) end
alter TRIGGER Tig_Insert土建装饰工程造价指标和指数_导入 ON dbo.T_土建装饰工程造价指标和指数_导入 after INSERT AS DECLARE @项目ID int DECLARE @项目 VARCHAR(50) DECLARE @报告期数量和价格 decimal(18,3) DECLARE @报告期数量定额取定价 decimal(18,3) DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int select @xmbh=ID from T_工程概况 if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID)) begin update a set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格, a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID from inserted i left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 end else begin INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID) select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID from inserted i left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 where not exists(selet 1 from T_土建装饰工程造价指标和指数 where 项目=i.项目 and 价格基数ID=i.价格基数ID) end
alter TRIGGER Tig_Insert土建装饰工程造价指标和指数_导入 ON dbo.T_土建装饰工程造价指标和指数_导入 after INSERT AS DECLARE @项目编号 VARCHAR(50) DECLARE @项目 VARCHAR(50) DECLARE @报告期数量和价格 decimal(18,3) DECLARE @报告期数量定额取定价 decimal(18,3) DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int select @xmbh=ID from T_工程概况 where 项目编号 = @项目编号if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID)) begin update a set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格, a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID from inserted i left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 end else begin INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID) select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID from inserted i left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID left join T_工程概况 t on 1 =1 where not exists(selet 1 from T_土建装饰工程造价指标和指数 where 项目=i.项目 and 价格基数ID=i.价格基数ID) end
---
至少得加一个where 呀
update T_土建装饰工程造价指标和指数 set 项目ID=@xmbh,项目=@项目,报告期数量和价格=@报告期数量和价格,报告期数量定额取定价=@报告期数量定额取定价, 价格基数ID=@价格基数ID where 项目=@项目 and 价格基数ID=@价格基数ID
where 项目=@项目 and 价格基数ID=@价格基数ID
另外直接换成after吧
ON dbo.T_土建装饰工程造价指标和指数_导入
after INSERT
AS
DECLARE @项目ID int
DECLARE @项目 VARCHAR(50)
DECLARE @报告期数量和价格 decimal(18,3)
DECLARE @报告期数量定额取定价 decimal(18,3)
DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int
select @xmbh=ID from T_工程概况 if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID))
begin
update a
set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格,
a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID
from T_土建装饰工程造价指标和指数 a
left join inserted i on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
end
else
begin
INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID)
select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID
from T_土建装饰工程造价指标和指数 a
left join inserted i on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1 end
加一个条件,随手的你试试alter TRIGGER Tig_Insert土建装饰工程造价指标和指数_导入
ON dbo.T_土建装饰工程造价指标和指数_导入
after INSERT
AS
DECLARE @项目ID int
DECLARE @项目 VARCHAR(50)
DECLARE @报告期数量和价格 decimal(18,3)
DECLARE @报告期数量定额取定价 decimal(18,3)
DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int
select @xmbh=ID from T_工程概况 if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID))
begin
update a
set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格,
a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID
from T_土建装饰工程造价指标和指数 a
left join inserted i on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
end
else
begin
INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID)
select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID
from T_土建装饰工程造价指标和指数 a
left join inserted i on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
where not exists(selet 1 from T_土建装饰工程造价指标和指数 where 项目=i.项目 and 价格基数ID=i.价格基数ID)
end
DECLARE @项目 VARCHAR(50)
DECLARE @报告期数量和价格 decimal(18,3)
DECLARE @报告期数量定额取定价 decimal(18,3)
DECLARE @价格基数 VARCHAR(50)刚才那个本来三行的导入,现在导入了五六十行
DECLARE @项目 VARCHAR(50)
DECLARE @报告期数量和价格 decimal(18,3)
DECLARE @报告期数量定额取定价 decimal(18,3)
DECLARE @价格基数 VARCHAR(50)
ON dbo.T_土建装饰工程造价指标和指数_导入
after INSERT
AS
DECLARE @项目ID int
DECLARE @项目 VARCHAR(50)
DECLARE @报告期数量和价格 decimal(18,3)
DECLARE @报告期数量定额取定价 decimal(18,3)
DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int
select @xmbh=ID from T_工程概况 if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID))
begin
update a
set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格,
a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID
from inserted i
left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
end
else
begin
INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID)
select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID
from inserted i
left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
where not exists(selet 1 from T_土建装饰工程造价指标和指数 where 项目=i.项目 and 价格基数ID=i.价格基数ID)
end
ON dbo.T_土建装饰工程造价指标和指数_导入
after INSERT
AS
DECLARE @项目ID int
DECLARE @项目 VARCHAR(50)
DECLARE @报告期数量和价格 decimal(18,3)
DECLARE @报告期数量定额取定价 decimal(18,3)
DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int
select @xmbh=ID from T_工程概况 if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID))
begin
update a
set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格,
a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID
from inserted i
left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
end
else
begin
INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID)
select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID
from inserted i
left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
where not exists(selet 1 from T_土建装饰工程造价指标和指数 where 项目=i.项目 and 价格基数ID=i.价格基数ID)
end
alter TRIGGER Tig_Insert土建装饰工程造价指标和指数_导入
ON dbo.T_土建装饰工程造价指标和指数_导入
after INSERT
AS
DECLARE @项目编号 VARCHAR(50) DECLARE @项目 VARCHAR(50)
DECLARE @报告期数量和价格 decimal(18,3)
DECLARE @报告期数量定额取定价 decimal(18,3)
DECLARE @价格基数ID int select @项目ID=项目ID,@项目=项目,@报告期数量和价格=报告期数量和价格, @报告期数量定额取定价=报告期数量定额取定价, @价格基数ID=价格基数ID from inserted declare @xmbh int
select @xmbh=ID from T_工程概况 where 项目编号 = @项目编号if(exists(select 1 from T_土建装饰工程造价指标和指数 a,inserted i where a.项目=i.项目 and a.价格基数ID=i.价格基数ID))
begin
update a
set a.项目ID=t.id,a.项目=i.项目,a.报告期数量和价格=i.报告期数量和价格,
a.报告期数量定额取定价=i.报告期数量定额取定价, a.价格基数ID=i.价格基数ID
from inserted i
left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
end
else
begin
INSERT INTO T_土建装饰工程造价指标和指数(项目ID,项目, 报告期数量和价格, 报告期数量定额取定价,价格基数ID)
select t.id,i.项目,i.报告期数量和价格,i.报告期数量定额取定价,i.价格基数ID
from inserted i
left join T_土建装饰工程造价指标和指数 a on a.项目=i.项目 and a.价格基数ID=i.价格基数ID
left join T_工程概况 t on 1 =1
where not exists(selet 1 from T_土建装饰工程造价指标和指数 where 项目=i.项目 and 价格基数ID=i.价格基数ID)
end