CREATE TABLE T_TEST(TEST_ID NUMERIC(18,3) NULL,TEST_VALUES NUMERIC(18,3) NULL)
GO
CREATE  trigger itr_t_test on t_test
instead of insert
as 
begin
select * into #temp_insert from inserted 
if exists(select * from #temp_insert where test_id in(6,5.125))
begin
update #temp_insert set test_values=3.5 where test_id in(6,5.125)
end
if exists(select * from #temp_insert where test_id >6)
begin
update #temp_insert set test_values=6 where test_id >6
end
if exists(select * from #temp_insert where TEST_ID > 5.125 AND TEST_ID<6 )
begin
update #temp_insert set test_values=2.5 where TEST_ID > 5.125 AND TEST_ID<6
end
if exists(select * from #temp_insert where TEST_ID >= 3.25 AND TEST_ID<5.125)
begin
update #temp_insert set test_values=2.5 where TEST_ID >= 3.25 AND TEST_ID<5.125
end
INSERT INTO t_test(TEST_ID,TEST_VALUES) SELECT TEST_ID ,TEST_VALUES FROM #temp_insert
end
GO
--测试数据INSERT INTO T_TEST(TEST_ID) VALUES(6)INSERT INTO T_TEST(TEST_ID) VALUES(5.125)INSERT INTO T_TEST(TEST_ID) VALUES(7)INSERT INTO T_TEST(TEST_ID) VALUES(3.26)INSERT INTO T_TEST(TEST_ID) VALUES(5.5)SELECT * FROM T_TESTdrop table t_test
drop trigger itr_t_test