„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie arbeite ich mit dynamischen Tabellennamen in gespeicherten Verfahren und Funktionen von MySQL?

Wie arbeite ich mit dynamischen Tabellennamen in gespeicherten Verfahren und Funktionen von MySQL?

Gepostet am 2025-03-24
Durchsuche:661

How to Work with Dynamic Table Names in MySQL Stored Procedures and Functions?

dynamische Tabellennamen in gespeicherten Verfahrensfunktion

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.

dynamische Tabellennamen in Funktionen

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:

set @tableName =' Tbl '; Set @myid = 1005; Set @Name = null; Rufen Sie GetName (@tableName, @myid, @Name); Wählen Sie @Name;

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.

Neuestes Tutorial Mehr>

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