Mysql
 sql >> Database >  >> RDS >> Mysql

C'è un modo per rendere dinamico il nome di una tabella in una query?

No, non c'è modo di farlo. Il nome della tabella deve essere noto al momento dell'analisi della query, in modo che il parser possa sapere se la tabella esiste e che contiene le colonne a cui fai riferimento. Inoltre, l'ottimizzatore deve conoscere la tabella e i suoi indici, quindi può elaborare un piano di quali indici utilizzare.

Quello che stai chiedendo è che la tabella sia determinata durante l'esecuzione, in base ai dati trovati riga per riga. Non c'è modo per l'RDBMS di sapere in fase di analisi che tutto i valori dei dati corrispondono a tabelle reali.

Non c'è motivo per cui dovresti farlo per implementare Ereditarietà tabella classi . CTI supporta veri riferimenti tra tabelle.

Stai invece descrivendo l'antipattern di Associazioni Polimorfiche.