MySQL bietet als häufig verwendete relationale Datenbank eine Fülle von Funktionen und Syntax, unter denen gespeicherte Prozeduren eine der sehr praktischen Funktionen sind. Gespeicherte Prozeduren sind bequemer und flexibler als das direkte Schreiben von SQL-Anweisungen und können außerdem die Lesbarkeit und Wartbarkeit des Codes verbessern. In diesem Artikel wird erläutert, wie Sie MySQL-Datenbanktabellen mithilfe gespeicherter Prozeduren erstellen.
【Einführung in gespeicherte Prozeduren】
Gespeicherte Prozeduren sind ausführbare Programme, die vorkompiliert und in der Datenbank gespeichert werden. Sie können im Gegensatz zu vom Benutzer erstellten Funktionen mehrmals aufgerufen und ausgeführt werden, sondern kommunizieren mit dem Aufrufer über Eingabe- und Ausgabeparameter. In MySQL bestehen gespeicherte Prozeduren aus SQL-Anweisungen und einigen Flusskontrollanweisungen. Sie werden normalerweise zum Verarbeiten von Daten oder zum Ausführen bestimmter Aufgaben verwendet.
【Anweisung zur Erstellung einer MySQL-Tabelle】
Die normale Anweisung zur Erstellung einer MySQL-Tabelle lautet wie folgt:
CREATE TABLE person ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL, address VARCHAR(100) NOT NULL );
Dies ist eine herkömmliche Anweisung zur Erstellung einer MySQL-Tabelle, wir müssen jedoch einige spezielle Bedingungen hinzufügen, um einige der Anforderungen während der Tabelle zu erfüllen Im Erstellungsprozess können Geschäftsanforderungen durch gespeicherte Prozeduren erfüllt werden.
【Anweisung zur Erstellung einer Tabelle mit gespeicherten Prozeduren】
Schauen wir uns an, wie man eine MySQL-Tabelle mit einer gespeicherten Prozedur erstellt. Wir werden es anhand eines einfachen Beispiels demonstrieren.
Zuerst müssen wir eine gespeicherte Prozedur erstellen. Der Code lautet wie folgt:
DELIMITER $$ CREATE PROCEDURE create_person_table() BEGIN DECLARE exit handler for sqlexception BEGIN ROLLBACK; SELECT 'Failed!'; END; START TRANSACTION; CREATE TABLE person ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL, address VARCHAR(100) NOT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); COMMIT; SELECT 'Succeed!'; END$$ DELIMITER ;
In der oben genannten gespeicherten Prozedur verwenden wir CREATE PROCEDURE
, um eine Funktion namens create_person_table() Gespeicherte Prozedur, wobei <code>DECLARE Exit-Handler für sqception
bedeutet, dass beim Auftreten einer Ausnahme ein Rollback zum vorherigen Status durchgeführt werden muss und „Failed!“ zurückgegeben werden muss > und COMMIT
wird zum Öffnen und Festschreiben von Transaktionen verwendet; das Feld created_at
wird zur Tabellenerstellungsanweisung hinzugefügt, die die Erstellungszeit darstellt, und der Standardwert ist die aktuelle Zeit . CREATE PROCEDURE
定义了一个名为 create_person_table()
的存储过程,其中 DECLARE exit handler for sqlexception
表示在出现异常时需要回滚到之前的状态,并返回“Failed!”;START TRANSACTION
和 COMMIT
用于开启和提交事务;创建表的语句中增加了 created_at
字段,该字段表示创建时间,默认值为当前时间。
在存储过程中,我们使用 SELECT
语句返回执行结果。当存储过程执行成功时,将返回“Succeed!”,否则返回“Failed!”。
存储过程创建成功后,我们可以通过 CALL
命令来调用它:
CALL create_person_table();
如果存储过程执行成功,将返回“Succeed!”,并创建一个名为 person
SELECT
, um die Ausführungsergebnisse zurückzugeben. Wenn die gespeicherte Prozedur erfolgreich ausgeführt wird, wird „Erfolgreich!“ zurückgegeben, andernfalls wird „Fehlgeschlagen!“ zurückgegeben. Nachdem die gespeicherte Prozedur erfolgreich erstellt wurde, können wir sie über den Befehl CALL
aufrufen: rrreee
Wenn die gespeicherte Prozedur erfolgreich ausgeführt wurde, wird „Erfolgreich!“ zurückgegeben und eine Person namensPerson
Das obige ist der detaillierte Inhalt vonSo verwenden Sie gespeicherte Prozeduren zum Erstellen von Tabellen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!