Tôi muốn thực hiện một cái gì đó như thế này trên máy chủ MySQL của tôi:Tôi có thể sử dụng nhiều câu lệnh trong truy vấn được chuẩn bị JDBC không?
SET @id=(SELECT id FROM lookupTable WHERE field=?);
(SELECT * FROM table2 WHERE [email protected])
UNION
(SELECT * FROM table3 WHERE [email protected])
UNION
(SELECT * FROM table4 WHERE [email protected]);
này hoạt động tốt từ giao diện điều khiển, nhưng không phải từ Java PreparedStatement tôi. Nó ném một ngoại lệ với một lỗi cú pháp tại ';' tách các câu lệnh. Tôi thích biến vì tôi không phải lặp lại điều khoản tra cứu, nhưng tôi có thể viết lại nó nếu cần. JOIN tương đương cũng hơi khó xử với mệnh đề UNION.
Cảm ơn,
Joshua
Như @ddimitrov nói, điều này dường như không thể trực tiếp. Tôi đã không thử 'PreparedStatement.addBatch()'. Một thủ tục lưu trữ có khả năng sẽ làm việc cho điều này quá. –
Nếu bạn quan tâm đến các nhà cung cấp khác, thì Cơ sở dữ liệu CUBRID hỗ trợ tính năng này. Xem bài đăng trên diễn đàn này http://www.cubrid.org/forum/534638. – Eye