K kenmen Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-26 #1 我有两个表,想当一个表增加一个纪录时,另一个也相应的增加一个。请问用sql语句 怎写?另外的表怎么写才能知道刚才的表是增加了哪条纪录?是否用变量? 谢谢了!
T terry_lzs Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-26 #3 用触发器,你的要求可以实现,而且保证数据的一致性 触发器的写法,你可以检索一下以前的记录,已经讨论多次了
K kenmen Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-27 #6 to:terry_lzs 能说说详细怎实现吗?或举出以前的是哪个例子吗? 我也想到是用触发器,但具体怎么写还未想好。当一个表增加纪录时,另一个表怎么知道 刚才的表增加了哪个纪录。这一点我就是想不明。 请指点!
to:terry_lzs 能说说详细怎实现吗?或举出以前的是哪个例子吗? 我也想到是用触发器,但具体怎么写还未想好。当一个表增加纪录时,另一个表怎么知道 刚才的表增加了哪个纪录。这一点我就是想不明。 请指点!
W wanfangme Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-27 #7 可以增加一个标记字段,(id) 设一个全局变量=标记.
T terry_lzs Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-27 #8 举个例子 CREATE TRIGGER condel ON [Operselect] // 所建的触发器叫condel,属于表operselect FOR insert //由事件insert触发 AS insert into convalue Select * From new//将表new中的记录插到convalue表中,表new 是个临时表是系统自己定义的,你对operselect表进行新添记录时那些记录在new表中都有 记录。
举个例子 CREATE TRIGGER condel ON [Operselect] // 所建的触发器叫condel,属于表operselect FOR insert //由事件insert触发 AS insert into convalue Select * From new//将表new中的记录插到convalue表中,表new 是个临时表是系统自己定义的,你对operselect表进行新添记录时那些记录在new表中都有 记录。
K kenmen Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-28 #9 to :terry_lzs 若是update也是一样吗?
T terry_lzs Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-29 #11 对不起,最后应该是from inserted而不是from new 当数据库进行insert或是update操作时被修改的记录或是添加的记录都是存在inserted表中
K kenmen Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-07 #12 to:terry_lzs 能说说还有啥临时表有用吗? 例如new有啥用? 为啥这里不能用它? 谢了!
F Fenix Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-07 #13 怪不得没人愿回答你。 inserted临时表只能用在触发器中,该表记录着所有新增的纪录,只读的。 在有些数据库中,该表不叫inserted而叫做new,如interbase。 用update时,inserted表中就是所有的新记录映射。
怪不得没人愿回答你。 inserted临时表只能用在触发器中,该表记录着所有新增的纪录,只读的。 在有些数据库中,该表不叫inserted而叫做new,如interbase。 用update时,inserted表中就是所有的新记录映射。
W wyh919 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-10 #14 用TRIGGER吧,相关联的表肯定有相对应的关联字段的,在SQL SERVER中受影响的记录保存在 INSERTED,UPDATED,DELETED中
F fbyang Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-10 #15 大家都说了,用触发器。 象你的说法当A表增加记录时,B表要做相应操作。 只需要写A表的INSERT触发器,就可以了。 SQL SERVER中提供了三个临时表INSERTED,UPDATED,DELETED,他们分别记录表增加、修改、删除的信息。 具体写法,你可以看看关于SQL SERVER的书,一般都有例子。非常简单。 对了,就像FENIX说的,SQL SERVER中是这样叫的。别的数据库就不一定了,像在ORACLE中吧,就是NEW。 你可以看看相关的书,比较简单的触发器一般一看就能搞定。
大家都说了,用触发器。 象你的说法当A表增加记录时,B表要做相应操作。 只需要写A表的INSERT触发器,就可以了。 SQL SERVER中提供了三个临时表INSERTED,UPDATED,DELETED,他们分别记录表增加、修改、删除的信息。 具体写法,你可以看看关于SQL SERVER的书,一般都有例子。非常简单。 对了,就像FENIX说的,SQL SERVER中是这样叫的。别的数据库就不一定了,像在ORACLE中吧,就是NEW。 你可以看看相关的书,比较简单的触发器一般一看就能搞定。