Có EXECUTE
tuyên bố của plpgsql , sẽ thực hiện những gì bạn đang cố gắng làm - thực thi một chuỗi truy vấn SQL. Bạn đã gắn thẻ động, vì vậy đây có thể là thứ bạn đang tìm kiếm.
Chỉ hoạt động bên trong các hàm plpgsql hoặc DO
câu lệnh (khối mã ẩn danh). Sự khác biệt giữa EXECUTE
và SQL-EXECUTE
được nêu rõ trong sổ tay hướng dẫn tốt:
Lưu ý: PL / pgSQL
EXECUTE
câu lệnh không liên quan đếnEXECUTE
Câu lệnh SQL được hỗ trợ bởi máy chủ PostgreSQL.EXECUTE
của máy chủ không thể sử dụng câu lệnh trực tiếp trong các hàm PL / pgSQL (và không cần thiết).
Nếu bạn muốn trả về các giá trị từ một SELECT
động như ví dụ của bạn chỉ ra, bạn cần tạo một hàm. DO
câu lệnh luôn trả về void
. Tìm hiểu thêm về cách trả về giá trị từ một hàm trong hướng dẫn rất hữu ích.