在添加报名表的时候 可以用存储过程啊 create proc Up_test @m int --报名课程ID asdeclare @a int --报名该课程的数量 select @a=count(id1) from 报名表 where id1=@m insert into ...........
活动表 ID 活动名字 下一个报名ID(默认值1)报名表 ID 报名人 活动ID 活动顺序INSERT INTO 报名表 (报名人,活动ID,活动顺序) SELECT @人,ID,下一个报名ID FROM 活动表 WHERE ID=@ID UPDATE 活动表 SET 下一个报名ID=下一个报名ID+1 WHERE ID=@ID
SELECT COUNT(1) AS INDEX
FROM 报名表 A
WHERE A.ID1 = 1
AND A.报名人 = BB4如果是 ORACLE 就比较简单了,直接可以使用 ROWNUMBER 来处理
id 活动ID 自增列
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
6 2 3
7 3 1
楼主就是想要得到上表的"自增列".
create proc Up_test
@m int --报名课程ID
asdeclare @a int --报名该课程的数量
select @a=count(id1) from 报名表 where id1=@m
insert into ...........
ID 活动名字 下一个报名ID(默认值1)报名表
ID 报名人 活动ID 活动顺序INSERT INTO 报名表 (报名人,活动ID,活动顺序)
SELECT @人,ID,下一个报名ID FROM 活动表 WHERE ID=@ID
UPDATE 活动表 SET 下一个报名ID=下一个报名ID+1 WHERE ID=@ID
刚才我在实现的时候也忽视了还有报名取消这种情况,不然的话很容易在删除后在插入的过程中会出现报名号码的现象,引起混淆!!