邹
邹光先
Unregistered / Unconfirmed
GUEST, unregistred user!
1、怎么在before insert trigger中,使primary key---studid的值自动加1?我的设想是这样的:
CREATE TRIGGER BEFOREINSERT FOR STUDENT BEFORE INSERT POSITION 0 AS
DECLARE VARIABLE maxid INTEGER;
BEGIN
select max(studid) from student into :maxid;
maxid=maxid+1;
new.studid=maxid;
END
(注:studid是not require的)但是,当我用光标移动到表的最后,添加记录的是候,老师出现两条记录,大致的显示是这个样子:
studid name
1 a
b <- step1:移动向下的光标到这个位置写入的内容,注意前面还没有studid. 届着再按向下键,现在内容是这样的了 :
1 a
b
2 b <- 自动出现的.
怎么解决他?
2、有两个表student 和 floor,他们之间用studid连接,其中studid是student的主键,我希望将student中得一些字段和floor中的一些字段一起用grid显示出来,但我insert一条纪录的时候,用1可以自动使studid的值加一,我要闻得失,怎么让floor中的studid中填上相应的studid?
CREATE TRIGGER BEFOREINSERT FOR STUDENT BEFORE INSERT POSITION 0 AS
DECLARE VARIABLE maxid INTEGER;
BEGIN
select max(studid) from student into :maxid;
maxid=maxid+1;
new.studid=maxid;
END
(注:studid是not require的)但是,当我用光标移动到表的最后,添加记录的是候,老师出现两条记录,大致的显示是这个样子:
studid name
1 a
b <- step1:移动向下的光标到这个位置写入的内容,注意前面还没有studid. 届着再按向下键,现在内容是这样的了 :
1 a
b
2 b <- 自动出现的.
怎么解决他?
2、有两个表student 和 floor,他们之间用studid连接,其中studid是student的主键,我希望将student中得一些字段和floor中的一些字段一起用grid显示出来,但我insert一条纪录的时候,用1可以自动使studid的值加一,我要闻得失,怎么让floor中的studid中填上相应的studid?