Heim > Datenbank > MySQL-Tutorial > DELIMITER // Welche Rolle spielt es in MySQL-Triggern?

DELIMITER // Welche Rolle spielt es in MySQL-Triggern?

WBOY
Freigeben: 2023-08-26 10:41:07
nach vorne
2337 Leute haben es durchsucht

DELIMITER // 在 MySQL 的触发器中起什么作用?

DELIMITER // kann verwendet werden, um das Semikolon (;) einer Anweisung in // zu ändern. Jetzt können Sie mehrere Anweisungen mit Semikolons in Triggern schreiben.

Dies ist eine Demo des Triggers. Wenn Sie in diesem Beispiel ein EmployeeSalary von weniger als 1000 eingeben, wird es standardmäßig auf 10000 gesetzt.

Erstens erstellen wir eine Tabelle. Die Abfrage zum Erstellen der Tabelle lautet wie folgt:

mysql> create table EmployeeTable
-> (
-> EmployeeId int,
-> EmployeeName varchar(100),
-> EmployeeSalary float
-> );
Query OK, 0 rows affected (0.76 sec)
Nach dem Login kopieren

Nach dem Erstellen der Tabelle müssen Sie einen Trigger für den Einfügebefehl erstellen. Die Abfrage zum Erstellen des Triggers lautet wie folgt.

mysql> delimiter //
mysql> create trigger CheckSalary before insert on EmployeeTable
-> for each row if new.EmployeeSalary < 1000 then set
-> new.EmployeeSalary=10000;
-> end if;
-> //
Query OK, 0 rows affected (0.40 sec)
mysql> delimiter ;
Nach dem Login kopieren

Jetzt können Sie den Befehl insert verwenden, um Trigger zu überprüfen. Wenn das eingegebene EmployeeSalary weniger als 1000 beträgt, wird kein Fehler angezeigt, aber es wird ein Standardwert gespeichert, den ich mit 10000 angegeben habe.

Die Abfrage zum Einfügen von Datensätzen lautet wie folgt:

mysql> insert into EmployeeTable values(1,&#39;Carol&#39;,500);
Query OK, 1 row affected (0.25 sec)
Nach dem Login kopieren

Nun verwenden Sie die Select-Anweisung, um alle Datensätze in der Tabelle zu überprüfen. Die Abfrage lautet wie folgt.

mysql> select *from EmployeeTable;
Nach dem Login kopieren
Nach dem Login kopieren

Das Folgende ist die Ausgabe.

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 1          | Carol        | 10000          |
+------------+--------------+----------------+
1 row in set (0.00 sec)
Nach dem Login kopieren

Wenn Sie 1000 oder mehr eingeben, wird nur Ihre Nummer angezeigt. Ich habe den Befehl „truncate“ verwendet, um frühere Datensätze aus der Tabelle zu löschen.

mysql> truncate table EmployeeTable;
Query OK, 0 rows affected (1.44 sec)
Nach dem Login kopieren

Abfrage zum Einfügen von Datensätzen in die Tabelle.

mysql> insert into EmployeeTable values(2,&#39;Bob&#39;,1000);
Query OK, 1 row affected (0.14 sec)

mysql> insert into EmployeeTable values(3,&#39;Carol&#39;,2500);
Query OK, 1 row affected (0.19 sec)
Nach dem Login kopieren

Dies ist eine Abfrage, die mithilfe der Select-Anweisung alle Datensätze in der Tabelle überprüft.

mysql> select *from EmployeeTable;
Nach dem Login kopieren
Nach dem Login kopieren

Das Folgende ist die Ausgabe.

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 2          | Bob          | 1000           |
| 3          | Carol        | 2500           |
+------------+--------------+----------------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

Sehen Sie sich die Beispielausgabe oben an: EmployeeSalary ist größer oder gleich 1000. Dadurch erhalten Sie Ihr Gehalt. Denken Sie daran: Wenn der Wert kleiner als 1000 ist, wird der Standardwert auf 10000 gesetzt.

Das obige ist der detaillierte Inhalt vonDELIMITER // Welche Rolle spielt es in MySQL-Triggern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage