Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gibt es eine Möglichkeit, einen Tabellennamen in einer Abfrage dynamisch zu machen?

Nein, dafür gibt es keine Möglichkeit. Der Tabellenname muss zum Zeitpunkt des Parsens der Abfrage bekannt sein, damit der Parser erkennen kann, ob die Tabelle existiert und ob sie die Spalten enthält, auf die Sie verweisen. Außerdem muss der Optimierer die Tabelle und ihre Indizes kennen, damit er einen Plan erstellen kann, welche Indizes verwendet werden sollen.

Was Sie verlangen, ist, dass die Tabelle während der Ausführung basierend auf den zeilenweise gefundenen Daten bestimmt wird. Es gibt für das RDBMS keine Möglichkeit, das alle zur Parsing-Zeit zu wissen die Datenwerte entsprechen realen Tabellen.

Es gibt keinen Grund, dies zu tun, um Klassentabellenvererbung zu implementieren . CTI unterstützt echte Referenzen zwischen Tabellen.

Sie beschreiben stattdessen das Antimuster von polymorphen Assoziationen.