Dynamic SQL in gespeicherten MySQL-Prozeduren erstellen
Dynamic SQL, eingeführt in MySQL 5.0.13, ermöglicht gespeicherten Prozeduren die Erstellung von SQL-Anweisungen zur Laufzeit .
So erstellen und verwenden Sie dynamisches SQL in einem Stored Prozedur:
Erstellen Sie eine gespeicherte Prozedur wie folgt:
DELIMITER // CREATE PROCEDURE dynamic(IN tbl CHAR(64), IN col CHAR(64)) BEGIN SET @s = CONCAT('SELECT ',col,' FROM ',tbl ); PREPARE stmt FROM @s; EXECUTE stmt; DEALLOCATE PREPARE stmt; END // DELIMITER ;
Erklärung:
Beispiel:
Um eine bestimmte Spalte aus einer bestimmten Spalte auszuwählen Tabelle:
CALL dynamic('employees', 'salary');
Hinweis:
Dynamic SQL wird in Funktionen oder Triggern nicht unterstützt. Weitere Informationen finden Sie in der MySQL-Dokumentation.
Das obige ist der detaillierte Inhalt vonWie kann ich dynamisches SQL in gespeicherten MySQL-Prozeduren erstellen und verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!