Próbowałeś?
Nie jest obsługiwany przez serwer, więc nawet jeśli wydaje się działać w sterowniku JDBC po stronie klienta, nie polecam go:
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 );
^
I tak nie ma z tego żadnych korzyści, ponieważ nie można parametryzować je, więc nie możesz pisać:
CREATE TABLE ? ( ? text, ...)
a następnie określ wartości symboli zastępczych jako parametry zapytania do Statement
.
Tylko w PostgreSQL planowane deklaracje mogą być przygotowywane i parametryzowane po stronie serwera. Obecnie oznacza to INSERT
, UPDATE
, DELETE
i SELECT
.
Musisz wykonać własną interpolację ciągów i bezpieczne cytowanie zgodnie z zasady struktury leksykalnej
- które są w dużej mierze zgodne ze specyfikacją SQL. Umieść wszystkie identyfikatory w "double quotes"
i podwój dowolne podwójne cudzysłowy dosłowne, np. "these are literal ""double quotes"""
dla nazwy tabeli these are literal "double quotes"
.
Sam fakt, że chcesz to zrobić, sugeruje, że prawdopodobnie masz problemy z projektem w swoim schemacie i być może będziesz musiał ponownie przemyśleć, jak sobie radzisz. Może opublikujesz bardziej szczegółowe pytanie na dba.stackexchange.com, które wyjaśnia, co chcesz dzięki temu osiągnąć i dlaczego?