Ci hai provato?
Non è supportato dal server, quindi anche se sembra funzionare nel driver JDBC lato client non lo consiglio:
regress=> PREPARE CREATE TABLE test ( id serial primary key );
ERROR: syntax error at or near "CREATE"
LINE 1: PREPARE CREATE TABLE test ( id serial primary key );
^
Non c'è alcun vantaggio nel farlo in ogni caso poiché non puoi parametrizzare loro, quindi non puoi scrivere:
CREATE TABLE ? ( ? text, ...)
e quindi specificare i valori segnaposto come parametri di query per l'Statement
.
Solo in PostgreSQL pianificato le istruzioni possono essere preparate e parametrizzate lato server. Attualmente ciò significa INSERT
, UPDATE
, DELETE
e SELECT
.
Dovrai eseguire la tua interpolazione di stringhe e citazioni sicure secondo regole della struttura lessicale
- che sono praticamente quelli delle specifiche SQL. Racchiudi tutti gli identificatori tra "double quotes"
e raddoppia le virgolette letterali, ad es. "these are literal ""double quotes"""
per il nome della tabella these are literal "double quotes"
.
Il fatto stesso che tu voglia farlo suggerisce che probabilmente hai problemi di progettazione nel tuo schema e potrebbe essere necessario ripensare a come stai andando le cose. Forse posta una domanda più dettagliata su dba.stackexchange.com che spieghi cosa vuoi ottenere con questo e perché?