Bạn đã thử chưa?
Nó không được máy chủ hỗ trợ, vì vậy ngay cả khi nó có vẻ hoạt động trong trình điều khiển JDBC phía máy khách, tôi không khuyên bạn nên sử dụng nó:
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 );
^
Dù sao thì cũng không có lợi gì khi làm như vậy vì bạn không thể tham số hóa chúng, vì vậy bạn không thể viết:
CREATE TABLE ? ( ? text, ...)
và sau đó chỉ định các giá trị trình giữ chỗ làm tham số truy vấn cho Statement
.
Trong PostgreSQL chỉ có kế hoạch các câu lệnh có thể được chuẩn bị và được tham số hóa phía máy chủ. Hiện tại, điều đó có nghĩa là INSERT
, UPDATE
, DELETE
và SELECT
.
Bạn sẽ cần thực hiện nội suy chuỗi của riêng mình và trích dẫn an toàn theo quy tắc cấu trúc từ vựng
- tương đối giống với thông số SQL. Gói tất cả các số nhận dạng trong "double quotes"
và nhân đôi bất kỳ dấu ngoặc kép theo nghĩa đen nào, ví dụ:"these are literal ""double quotes"""
đối với tên bảng these are literal "double quotes"
.
Thực tế là bạn muốn làm điều này cho thấy rằng bạn có thể có vấn đề thiết kế trong lược đồ của mình và có thể cần phải suy nghĩ lại cách bạn đang thực hiện mọi thứ. Có thể đăng một câu hỏi chi tiết hơn trên dba.stackexchange.com giải thích những gì bạn muốn đạt được với điều này và tại sao?