Relationales MySQL-Datenbankverwaltungssystem
MySQL ist ein kleines relationales Open-Source-Datenbankverwaltungssystem, das von der schwedischen Firma MySQL AB entwickelt wurde. MySQL wird häufig auf kleinen und mittelgroßen Websites im Internet verwendet. Aufgrund der geringen Größe, der hohen Geschwindigkeit, der niedrigen Gesamtbetriebskosten und insbesondere der Eigenschaften von Open Source wählen viele kleine und mittlere Websites MySQL als Website-Datenbank, um die Gesamtbetriebskosten der Website zu senken.
Dieser Artikel stellt hauptsächlich den Fallvergleich der Verwendung von Triggern durch Oracle und die Verwendung von MySQL vor. Dieser Artikel erklärt es anhand von Beispielen und gibt Ihnen eine sehr detaillierte Einführung it Siehe Folgendes:
1. Trigger
1. Trigger werden als unabhängige Objekte in der Datenbank gespeichert,
2. Trigger müssen nicht aufgerufen werden , sie sind Ein Ereignis löst den Vorgang aus
3. Trigger können keine Parameter empfangen
-- Triggeranwendung
Zum Beispiel: Xiaonei.com, Kaixin.com, facebook, wann Wenn Sie ein Protokoll veröffentlichen und Freunde automatisch benachrichtigen, müssen Sie zunächst ein Protokoll hinzufügen und dann Einträge in die Tabelle schreiben.
– Trigger sind sehr effizient
Beispiel: Bei Forumbeiträgen möchten Sie jedes Mal, wenn ein Beitrag eingefügt wird, den Zeitpunkt des letzten Beitrags und die Gesamtzahl der Beitragsfelder in der Forumtabelle synchronisieren. Zu diesem Zeitpunkt ist die Verwendung von Triggern sehr effizient.
2. Oracle verwendet PL/SQL zum Schreiben von Triggern
1.--Allgemeine Syntax zum Erstellen von Triggern in PL/SQL
create [or replace] trigger trigger_name {before | after} {insert | delete | update [of column[,column ... ]]} on table_name [for each row] [where condition] --trigger_body; begin end;
2.--Übung
--问题3.使用:old 和 :new 操作符 create or replace trigger tri_update after update on employees for each row begin dbms_output.put_line('更新前:'||:old.salary||' 更新后:'||:new.salary); end; --问题2.编写一个触发器,在向 emp 表中插入记录时 打印'hello' create or replace trigger tri_update after insert on emp begin dbms_output.put_line('ok'); end; --问题1.一个helloworld级别的触发器 --创建一个触发器,在更新employees表的时候触发 create or replace trigger tri_update after update on employees for each row --想在最后执行完打印一个ok,把这句话去掉 begin dbms_output.put_line('ok'); end; --执行 update employees set salary = salary+1 where department_id = 80
3. Verwendung von Triggern in MySQL
--假设有两张表 board 和 article create table board( id int primary key auto_increment, name varchar(50), articleCount int ); create table article( id int primary key auto_increment, title varchar(50), bid int references board(id) ); --创建一个触发器 delimiter $$ create trigger insertArticle_trigger after insert on article for each row begin update board set articleCount=articleCount+1 where id = new.bid; end; $$ delimiter ; --当我们对article表执行插入操作的是后就会触发这个触发器 insert into board values(null,'test_boardname',0); insert into article values(null,'test_title',1); --执行完这条插入语句后,board表中的articleCount字段值回+1;这个操作由触发器完成。
Das Obige ist der Vergleich der Fälle der Verwendung von Triggern in Oracle und der Verwendung von Triggern in MySQL. Bitte achten Sie darauf zu PHP Chinese Net (www.php.cn)!