2011-01-21 14 views
7

è possibile fare riferimento a un nome colonna/tabella usando una stringa? Qualcosa come SELECT * FROM 'my_table'::table_name_t?Fare riferimento ai nomi di colonne/tabelle usando stringhe?

Il motivo che sto chiedendo: ho una tabella geometry_columns con alcune tabelle di geometria. E mi piacerebbe sapere quali oggetti si trovano entro un certo raggio.

Grazie, Philip

risposta

5

Per ottenere ciò è necessaria una funzione (memorizzata). La funzione accetta il nome della tabella come argomento, crea lo SQL in modo dinamico e quindi restituisce il risultato di SELECT in base a tale query.

Ecco alcuni esempi (non è esattamente quello che avete bisogno, ma dovrebbe farti andando nella giusta direzione):

http://forums.devshed.com/postgresql-help-21/plpgsql-variable-representing-table-name-137201.html
Dynamic column in SELECT statement postgres

+0

Ok grazie. Buono a sapersi, anche se penso che questo sia eccessivo per il mio problema. – Philip

0

Non penso che tu possa farlo direttamente. Penso che dovresti costruire l'istruzione select da un'altra affermazione o parte di codice, quindi eseguire l'istruzione risultante.

Problemi correlati