mysql觸發器
1樓:網友
主要是第7行 if @score>85 這個地方缺少 then了 , 注意 if ..then 組合。
或者使用下面的語句:
mysql> delimiter |
mysql> create trigger set_record after insert on score
for each row begin
set @studentid=;
set @record=;
set @score=;
if @score>85 then
update score set where student_id=@studentid;
else if @score>70 then
update score set where student_id=@studentid;
else if @score>60 then
update score set where student_id=@studentid;
else update score set where student_id=@studentid;
end if;
end;
2樓:我tm不管
create trigger set_record after insert on score
for each row
beginif >85 then
update score set record=5 where student_id=;
end if;
if >70 and <=85 then
update score set record=4 where student_id=;
end if;
if >60 and <=70 then
update score set record=3 where student_id=;
end if;
if <=60 then
update score set record=0 where student_id=;
end if;
end;上面的寫法:如果大於85分的,會把所有的記錄都改成5,但是在70到85分之間的等等就不能改成對應的值了。
資料庫觸發器是什麼 ?
3樓:生活he家
觸發器是一種特殊型別的儲存過程,它在指定的表中的資料發生變化時自動生效。喚醒呼叫觸發器以響應 insert、update 或 delete 語句。觸發器可以查詢其它表,並可以包含複雜的transact-sql語句。
將觸發器和觸發它的語句作為可在觸發器內回滾的單個事務對待。如果檢測到嚴重錯誤(例如,磁碟空間不足),則整個事務即自動回滾。
4樓:落葉有期
寫在sql中,當對乙個表進行操作時,另外乙個表也一起更新時可以用觸發器,也可以用儲存過程。
如何查詢資料庫中的所有觸發器
5樓:我tm不管
select name from sysobjects where xtype='tr' --所有觸發器。
select name from sysobjects where xtype='p' --所有儲存過程。
select name from sysobjects where xtype='v' --所有檢視。
select name from sysobjects where xtype='u' --所有表。
以上為sqlserver用法。
select object_name from user_objects where object_type='trigger'; -所有觸發器。
select object_name from user_objects where object_type='procedure'; -所有儲存過程。
select object_name from user_objects where object_type='view'; -所有檢視。
select object_name from user_objects where object_type='table'; -所有表。
以上為oracle用法。
以上,希望對你有所幫助!
6樓:網友
oracle下:
select * from user_objects;
提醒你:注意下object_type欄位,你會發現,原來so easy;還有,type和name欄位的值都是大寫的,具體查詢時要注意)
mysql 觸發器
7樓:網友
select point from epq where epqid=@a into @point1;這句有問題。
改寫成。delimiter $
create trigger sss
after insert on vote
for each row begin
set @point1=0;
set @a=;
set @sqlstr = concat(『select point into @point1 from epq where epqid=』,a );
prepare stmt from @sqlstr;
execute stmt;
update membershippoint set pointinuse=@point1;
end$delimiter ;
mysql觸發器如何在關聯的兩個表都建觸發器
8樓:
如果你想通過2個表的觸發器來實現"使用者名稱、密碼"的更新的資料同步,則是不可以的。
建議改變邏輯處理:
寫乙個共用的儲存過程,然後在儲存過程裡同時實現2個表的資料更改即可。
資料庫中的觸發器是什麼,請幫忙解釋一下
9樓:網友
可以比照我們聲控開關,當聲音達到一定的程度,燈就會亮。資料庫中的觸發器就是當你執行了某乙個動作比如insert,update,或delete某乙個表,就會執行你定義好的sql語句。只是在資料庫中,sql語句的執行也分before和after,而不像聲控開關只是當聲音到了之後才亮,觸發器可以在你向某個表執行操作前執行。
mysql觸發器問題
10樓:網友
改成下面這樣呢。
delimiter $$
create trigger cdr_copy after insert on cdr
for each row
begininsert into cdr_temp( calldate, clid, agent )
values (,end;
delimiter ;
如果還不行,確定你的mysql版本是否是以上。
mysql 觸發器語法
11樓:網友
mysql 的sql語句如下:
mysql> delimiter //
create trigger sitedata_ins2> before insert on user> for each row
beginif not exists(select 1 from user_data where d_id= then
insert into user_data(d_id,d_name) values(,;
end if;
end;//
delimiter ;
或者簡單一點:
mysql> delimiter //
create trigger sitedata_ins2> before insert on user> for each row
begininsert into user_data(d_id,d_name) values(,;
end;//
delimiter ;
二種方法都可以,建議你用第一種。
資料庫開發,資料庫開發是做什麼東西的
資料庫開發工程師 database developer 是從事資料庫管理系統 dbms 和資料庫應用軟體設計研發的相關工作人員的統稱,他屬於軟體研發工程師,但又有一部分運維工作的內容。他主要從事軟體研發的工作,但同時也要參與資料庫生產環境的問題優化和解決。根據研發的內容不同,資料庫開發工程師可以分為...
解釋資訊 資料 資料庫 資料庫管理系統
一 資料 data 資料實際上就是描述事物的符號記錄。二 資訊 information 資訊就是有意義的資料表示。三 資料庫 database,簡稱db 資料庫是長期儲存在計算機內有結構的大量的共享的資料集合。四 資料庫管理系統 database management system,簡稱dbms 資...
資料庫在資訊系統中有何作用,資料庫管理系統在資料庫系統中起什麼作用
為資訊系統提供資料支撐。是資訊系統的核心部分。資訊系統其實就是對資料進行各種各樣的處理,包括將資料插入到資料庫,從資料庫中進行資料修改,從資料庫中調取資料出來進行瀏覽等。資料庫管理系統在資料庫系統中起什麼作用 使用資料庫系統有什麼好處 資料庫系統中的儲存過程可以提高查詢效率,提高安全。資料庫系統可以...