Có tùy chọn nào có thể thay đổi hành vi "thoát trình soạn thảo bên ngoài -> truy vấn chạy tự động" của công tắc psql \ e không? (Khác với cố ý xáo trộn cú pháp truy vấn).
Có tùy chọn nào có thể thay đổi hành vi "thoát trình soạn thảo bên ngoài -> truy vấn chạy tự động" của công tắc psql \ e không? (Khác với cố ý xáo trộn cú pháp truy vấn).
Câu trả lời:
Đừng thêm dấu chấm phẩy ( ;
) và bạn vẫn ổn. Tôi trích dẫn hướng dẫn về \e
hoặc \edit
lệnh meta ở đây :
... nếu truy vấn kết thúc bằng (hoặc chứa) dấu chấm phẩy, nó sẽ được thực thi ngay lập tức. Nếu không, nó sẽ chỉ chờ trong bộ đệm truy vấn; gõ dấu chấm phẩy hoặc
\g
gửi nó hoặc\r
hủy bỏ.
Nếu bạn có nhiều yêu cầu và một số dấu chấm phẩy, hãy sử dụng Giao dịch:
Trong chế độ soạn thảo mở psql \e
:
-- at start of edited text
BEGIN TRANSACTION;
-- ... your requests here
-- save exit
Quay lại psql: yêu cầu của bạn được thực thi nhưng thay đổi không được viết:
Nếu tất cả đều ổn, hãy lưu các thay đổi với:
COMMIT;
khác Nếu bạn có lỗi hoặc muốn hủy:
ROLLBACK;