Heim  >  Artikel  >  Datenbank  >  Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-Prozedur

Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-Prozedur

WBOY
WBOYnach vorne
2022-12-07 17:16:072392Durchsuche

Dieser Artikel bringt Ihnen relevantes Wissen über MySQL, das hauptsächlich die relevanten Inhalte zu erweiterten SQL-Anweisungen gespeicherter Prozeduren vorstellt. Ich hoffe, dass es für alle hilfreich ist.

Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-Prozedur

Empfohlenes Lernen: MySQL-Video-Tutorial

MySQL erweiterte SQL-Anweisungen (gespeicherte Prozeduren)

1. Übersicht über gespeicherte Prozeduren

1.1 Was ist gespeicherte Prozedur

Eine gespeicherte Prozedur ist eine Reihe von SQL-Anweisungen, die dazu dienen, eine bestimmte Funktion auszuführen.
Bei Verwendung einer gespeicherten Prozedur werden allgemeine oder komplexe Aufgaben vorab mithilfe von SQL-Anweisungen geschrieben und unter einem angegebenen Namen gespeichert. Dieser Prozess wird kompiliert und optimiert und im Datenbankserver gespeichert. Wenn Sie diese gespeicherte Prozedur verwenden müssen, müssen Sie sie nur aufrufen. Gespeicherte Prozeduren sind schneller und effizienter in der Ausführung als herkömmliches SQL.

1.2 Vorteile gespeicherter Prozeduren

  1. Nach der einmaligen Ausführung befindet sich der generierte Binärcode im Puffer, um die Ausführungseffizienz zu verbessern.
  2. Eine Sammlung von SQL-Anweisungen plus Steueranweisungen, die eine hohe Flexibilität bieten.
  3. Auf der Serverseite gespeichert und reduziert die Netzwerklast beim Aufruf durch den Client.
  4. Kann mehrmals aufgerufen und jederzeit geändert werden, ohne dass sich dies auf Kundenanrufe auswirkt.
  5. Kann alle Datenbankvorgänge abschließen und die Informationszugriffsberechtigungen der Datenbank steuern. 2. Gespeicherte Prozeduren erstellen, aufrufen und anzeigen
  6. 2.2 Gespeicherte Prozeduren aufrufen und anzeigen

delimiter $$                 #将语句的结束符号从分号;临时改为两个$$(可以自定义)
create procedure proc ()     #创建存储过程,过程名为proc,不带参数
-> begin                     #过程体以关键字begin开始
-> select * from store_info; #过程体语句
-> end $$                    #过程体以关键字end结束

delimiter ;                   #将语句的结束符号恢复为分号
Beispiel:

2.3 Gespeicherte Prozedur löschen

delimiter $$create procedure proc01 ()-> bengin
-> create table student(id int,name char(10),age int);-> insert into student values(1,'zhangsan',18);-> insert into student values(2,'lisi',18);-> select * from student;-> end $$delimiter ;
Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-ProzedurBeispiel:
call proc;               #调用存储过程



show create procedure [数据库.]存储过程名;  #查看某个存储过程的具体信息

show create procedure proc;
show create procedure proc\G

show procedure status [like '%proc%'] \G

3. Parameter der gespeicherten Prozedur

Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-ProzedurIN-Eingabeparameter
: Zeigt den Aufruf an oder übergibt einen Wert an den Prozess. (Der eingehende Wert kann ein Literal oder eine Variable sein) Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-Prozedur
Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-ProzedurOUT-Ausgabeparameter

: Zeigt an, dass der Prozess den Wert an den Aufrufer übergibt. (Es können mehrere Werte zurückgegeben werden) (Der ausgehende Wert kann nur eine Variable sein)

INOUT Eingabe- und Ausgabeparameter : Dies bedeutet, dass der Aufrufer den Wert an den Prozess übergibt und der Prozess den Wert an den Aufrufer übergibt . (Werte können nur Variablen sein)

Hinweis: Variablennamen dürfen keine Unterstriche enthalten.

call proc01;   

 show create procedure proc01;
 show create procedure proc01\G       #查看存储过程的具体信息
 
 show procedure status like '%Proc01%'\G

Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-Prozedur

4. Kontrollanweisungen gespeicherter Prozeduren

  • 4.1 Bedingungsanweisung: if-then-else … end if
 #存储过程内容的修改方法是通过删除原有存储过程,之后再以相同的名称创建新的存储过程。
drop procedure if exists proc;
 #仅当存在时删除,不添加If EXISTS 时,如果指定的过程不存在,则产生一个错误。
  • 4.2 Schleifenanweisung: while ···· end while

    Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-Prozedur

    drop procedure if exists proc01;

    Empfohlenes Lernen:

    MySQL-Video-Tutorial

    Zusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-Prozedur

    Das obige ist der detaillierte Inhalt vonZusammenfassung der erweiterten SQL-Anweisung der gespeicherten MySQL-Prozedur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen