MS SQL Server 2000环境中,建了一个表,
create table ID_Table(
id int,
type varchar(16),
lastModify datetime,
primary key(id, type)
)
里面只有2行:
1    order    日期
1    customer 日期用来生成流水ID的,每次插入到其他表:Order_Table,Customer_Table时更新相关的列中的id值。如果为同一天,则加1,不是同一天,则设置为1。
create trigger AddID on RoomOrder_Table for insert
as 
begin
declare @formerID int
declare @dt datetime
declare @dtnow datetime
set @dt = (select lastModify from ID_Table where type = 'customer')
set @formerID = (select id from ID_Table where type = 'customer')
set @dtnow = GETDATE()
if(YEAR(@dt) = YEAR(@dtnow) and MONTH(@dt) = MONTH(@dtnow)
and DAY(@dt) = DAY(@dtnow))
update ID_Table set id = @formerID + 1 where type = 'order'
else
update ID_Table set id = 1 where type = 'order'
end但执行后却只是把id设置为2了,而不是在原有的基础上加1. 是那个if……else语句的问题么??
给分请高手帮帮忙!!!