Sqlite 建立觸發器

2021-08-04 17:19:11 字數 1413 閱讀 1331

–建立班級表

create table class

( id integer primary key autoincrement, –班級編號

classname nvarchar(50) –班級名稱

);–建立學生表

create table student

( id integer primary key autoincrement, –編號

stuname nvarchar(20), –學生名稱

stu*** bit, –性別

stuage integer , –年齡

classid –班級編號

);–建立插入觸發器 (建立學生時要觸發插入觸發器去判斷是否存在該班級,存在插入成功,反之插入失敗)

create trigger fk_insert

before insert on student

for each row

begin

select raise(rollback,』還沒有該班級』)

where (select id from class where id = new.classid ) is null;

end;

–建立更新觸發器 (更新學生時要觸發更新觸發器去判斷是否存在更新班級,存在更新成功,反之更新失敗)

create trigger fk_update

before update on student

for each row

begin

select raise(rollback,』還沒有該班級』)

where (select id from class where id = new.classid)is null;

end;

–建立刪除觸發器 (刪除班級時,首先根據班級編號刪除該班級學生)

create trigger fk_delete

before delete on class

for each row

begin

delete from student where classid = old.classid;

end ;

insert into class(classname) values(『s1t64』);

insert into student(stuname,stu***,stuage,classid)values(『zhangsan』,1,23,1);

update student set stuname=』lishi』,classid=1 where id = 1;

select * from class ;

select * from student limit 0,100 ; – 分頁查詢從索引0開始查詢,100條資料

Sqlite 建立觸發器(刪除)

今天在移動裝置上需要做乙個刪除功能,兩個表itembase和itemsd,其中,itembase的id欄位和itemsd的sdpid欄位是一對一關係,現在要求刪除一條itembase的同時也刪除對應的itemsd,於是就想到了使用觸發器,寫法如下 create trigger itembase de...

建立觸發器

視覺化資料庫工具 對於 microsoft sql server 資料庫,可以在 transact sql 中編寫觸發器,而對於 oracle 資料庫,則可以在 pl sql 中進行編寫。通過指定下列內容建立觸發器 建立觸發器 在 伺服器資源管理器 中,展開 表 資料夾。右擊要在其上建立觸發器的表名...

建立觸發器

create trigger trigger insert test1 on test2 after insert asbegin set nocount on added to prevent extra result sets from interfering with select state...