DROP TABLE IF EXISTS `Software`;CREATE TABLE IF NOT EXISTS `Game` (`Name` varchar(255) default NULL,`Price` varchar(200) default NULL,`Language` varchar(200) default NULL,`Genre` varchar(200) default NULL,`SnipShot` varchar(200) default NULL,`Website` varchar(200) default NULL,`PublishDate` varchar(200) default NULL,PRIMARY KEY (`Name`));CREATE TABLE IF NOT EXISTS `Software` (`t_Name` varchar(255) default NULL,`OS` varchar(200) default NULL,`DirectX` varchar(200) default NULL,`AdobeFlashVersion` varchar(200) default NULL,`WebBrowser` varchar(200) default NULL,FOREIGN KEY (t_Name) REFERENCES Game(Name));create trigger t_gameafter insert on Gamefor each rowbegininsert into Software(`t_Name`) values (:Game.name)end;我想实现的是如果game 里面新加了一个name的话,Software表格也会新启一行,然后Software.t_name= game.name这个怎么实现?急需.....
1 回答
九州编程
TA贡献1785条经验 获得超4个赞
create trigger t_game on Game
instead of insert
as
declare @myname varchar
begin
select @myname=t_name from inserted
insert into Software(`t_Name`) values (@myname)
insert into game select * from inserted
end;
一定要用instead of ,否则都是insert完成,并且所有约束都检查完成以后才执行,外键约束还是失败的。
- 1 回答
- 0 关注
- 163 浏览
添加回答
举报
0/150
提交
取消