In MySQL bieten gespeicherte Prozeduren und Funktionen einen leistungsstarken Mechanismus für die Durchführung komplexer Operationen in der Datenbank. Bei der Arbeit mit dynamischen Tabellennamen entstehen jedoch bestimmte Einschränkungen.
Um Daten aus einer Tabelle mit einer Funktion abzurufen, können Sie eine Abfrage verwenden:
SELECT 'name' INTO myName FROM tableName WHERE >
verwendet jedoch diesen Ansatz mit dynamischen Tabellennamen auf einen Fehler aufgrund der Substitution des tatsächlichen Tabellennamens durch den Variablennamen Tableame. WÄHLEN 'Name' AUS ", tischumname", " WO >
Leider wird diese Methode in gespeicherten Verfahrensfunktionen nicht unterstützt, da MySQL in solchen Kontexten dynamische SQL verbietet. (In TableName Varchar (50), in Myid int (11), out myName varchar (50)) BEGINNEN Set @getName = Concat ('Name in @var1 aus', TableName, 'wobei>
SET @GetName = CONCAT(" SELECT 'name' FROM ", tableName, " WHERE >
diese Prozedur mit dynamischen Tabellennamen aufrufen können, können Sie die folgende Syntax verwenden:
Mit dieser Methode können Sie in einer gespeicherten Prozedur dynamisch Daten aus verschiedenen Tabellen zugreifen und eine größere Flexibilität in Ihren Datenbankvorgängen bieten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3