2012-02-17 15 views
7

Vorrei essere in grado di scrivere query SQL che cambia il database per wich Attualmente sto collegatoALTER DATABASE su un db corrente senza nome db esplicito?

Esempio:.

$ psql my_db 
psql(9.1.1) 
my_db=> ALTER DATABASE my_db SET some_variable = '0'; 
         ^^^^^ 

C'è un modo per evitare specyfing il nome del database in questa query ?

risposta

15

non possono verificare in questo momento, ma dal momento che si è in 9.1 si potrebbe provare:

DO $$ 
BEGIN 
    execute 'alter database '||current_database()||' set some_var = ''0'''; 
END; 
$$ 

Forse è necessario selezionare current_database() in una variabile per farlo funzionare.

+0

Funziona senza immediato eseguirà istruzione. – kupson

+0

@kupson: grazie, troppo Oracle nella mia testa;) –

+0

ha funzionato come un fascino su 9.1.1! grazie – Kuba

Problemi correlati