sqlserver與mysql觸發器之間的差別
今天練習sqlserver,一開始感覺應該像oracle,mysql語法差不多,但是經過一下午的奮戰,才感覺原來這三個資料庫就是有區別啊,
我原來學習觸發器的時候用的是mysql,感覺還行,但是今天採用的是sqlserver,就感覺差別就是很大了。
今天將部分**展示給大家看看,
下面顯示的是觸發器用到的兩個表
--建立sc表
create table [sc](
[scid] int not null,
[sno] int not null ,
[cno] int not null ,
[score] int default null ,
primary key ([scid])
);
--新增履歷表
create table score_record (
srid int not null,
sno int not null ,
cno int not null ,
oldscore int not null ,
newscore int not null ,
updatetime datetime not null ,
primary key (srid),
);
下面顯示的是mysql寫的觸發器
--mysql寫的觸發器
--建立觸發器,將修改前後的成績插入到履歷表
drop trigger if exists `trigger_sr`;
delimiter //
create trigger `trigger_sr` after update on `sc`
for each row begin
insert into score_record
set sno = new.sno,
cno = new.cno,
oldscore = old.score,
newscore = new.score,
updatetime = now() ;
end//
delimiter ;
下面顯示的是sqlserver寫的觸發器
--sqlserver寫的觸發器
--建立觸發器,將修改前後的成績插入到履歷表
create trigger trigger_sr
on sc for update
asdeclare @sno int,@cno int,@oldscore int,@newscore int,@updatetime datetime
begin
select @oldscore=score from deleted;
select @updatetime=getdate();
select @sno=sno,@cno=cno,@newscore=score from inserted;
insert into score_record(sno,cno,oldscore,newscore,updatetime)
values(@sno,@cno,@oldscore,@newscore,@updatetime)
end
sql server與mysql差異收集
之後會陸續收集,先寫一點 sql server中的identity在mysql中的表現形式。mysql中沒有identity 函式,要設定自動編號的話應當是用 auto increment 例如 create table tbl topic topicid int not null auto inc...
SqlServer與MySql語法比較
1 複製表 包括表結構 表資料 sqlserver select into user copy from user mysql create table user copy like user insert into user copy select from user 2 多表連線做update ...
MySql與SqlServer的區別
1.sql server 是microsoft 公司推出的關係型資料庫管理系統。具有使用方便可伸縮性好與相關軟體整合程度高等優點,可跨越從執行microsoft windows 98 的膝上型電腦到執行microsoft windows 2012 的大型多處理器的伺服器等多種平台使用。microso...