Zkusili jste to?
Není podporován serverem, takže i když se zdá, že funguje v ovladači JDBC na straně klienta, nedoporučuji to:
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 );
^
Stejně to nemá žádnou výhodu, protože nemůžete parametrizovat je, takže nemůžete psát:
CREATE TABLE ? ( ? text, ...)
a poté zadejte zástupné hodnoty jako parametry dotazu do Statement
.
V PostgreSQL pouze plánováno příkazy mohou být připraveny a parametrizovány na straně serveru. Aktuálně to znamená INSERT
, UPDATE
, DELETE
a SELECT
.
Budete muset provést vlastní interpolaci řetězců a bezpečné citování podle PostgreSQL pravidla lexikální struktury
- což jsou do značné míry ty ze specifikace SQL. Zabalte všechny identifikátory do "double quotes"
a dvojité doslovné dvojité uvozovky, např. "these are literal ""double quotes"""
pro název tabulky these are literal "double quotes"
.
Samotná skutečnost, že to chcete udělat, naznačuje, že pravděpodobně máte ve svém schématu problémy s návrhem a možná budete muset přehodnotit, jak na věci chodíte. Možná položte na dba.stackexchange.com podrobnější otázku, která vysvětluje, čeho tím chcete dosáhnout a proč?