Wenn wir vorbereitete Anweisungen in gespeicherten Prozeduren verwenden möchten, müssen diese in BEGIN- und END-Blöcke geschrieben werden. Um es zu verstehen, haben wir ein Beispiel erstellt, in dem wir alle Datensätze in einer Tabelle abrufen können, indem wir der gespeicherten Prozedur den Tabellennamen als Parameter übergeben.
mysql> DELIMITER // mysql> Create procedure tbl_detail(tab_name Varchar(40)) -> BEGIN -> SET @A:= CONCAT('Select * from',' ',tab_name); -> Prepare stmt FROM @A; -> EXECUTE stmt; -> END // Query OK, 0 rows affected (0.00 sec)
Rufen Sie nun diese Prozedur auf, indem Sie den Namen der Tabelle als Parameter übergeben, und alle Datensätze dieser Tabelle werden angezeigt.
mysql> DELIMITER; mysql> CALL tbl_detail('Student’); +------+--------+ | Id | Name | +------+--------+ | 1 | Ram | | 2 | Shyam | | 3 | Gaurav | +------+--------+ 3 rows in set (0.00 sec) Query OK, 0 rows affected (0.03 sec)
Das obige ist der detaillierte Inhalt vonWie können wir vorbereitete Anweisungen in gespeicherten Prozeduren verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!