資料庫有關超市POS系統 開發儲存器觸發器

2025-01-25 22:30:16 字數 4136 閱讀 1330

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 資...

資料庫在資訊系統中有何作用,資料庫管理系統在資料庫系統中起什麼作用

為資訊系統提供資料支撐。是資訊系統的核心部分。資訊系統其實就是對資料進行各種各樣的處理,包括將資料插入到資料庫,從資料庫中進行資料修改,從資料庫中調取資料出來進行瀏覽等。資料庫管理系統在資料庫系統中起什麼作用 使用資料庫系統有什麼好處 資料庫系統中的儲存過程可以提高查詢效率,提高安全。資料庫系統可以...