Bạn có thể kiểm tra một biến đặc biệt FOUND của một kiểu boolean. Từ tài liệu:
FOUND bắt đầu sai trong mỗi lệnh gọi hàm PL / pgSQL. Nó được thiết lập bởi mỗi loại câu lệnh sau:
Câu lệnh CHỌN VÀO đặt FOUND đúng nếu một hàng được gán, sai nếu không có hàng nào được trả về.
Câu lệnh PERFORM đặt FOUND true nếu nó tạo (và loại bỏ) một hoặc nhiều hàng, sai nếu không có hàng nào được tạo.
Các câu lệnh CẬP NHẬT, CHERTN và XÓA đặt FOUND true nếu ít nhất một hàng bị ảnh hưởng, sai nếu không có hàng nào bị ảnh hưởng.
Câu lệnh FETCH đặt FOUND true nếu nó trả về một hàng, false nếu không có hàng nào được trả về.
Câu lệnh MOVE đặt FOUND true nếu nó định vị lại thành công con trỏ, ngược lại là sai.
Câu lệnh FOR hoặc FOREACH đặt FOUND true nếu nó lặp lại một hoặc nhiều lần, nếu không thì sai. FOUND được đặt theo cách này khi vòng lặp thoát; bên trong việc thực hiện vòng lặp, FOUND không được sửa đổi bởi câu lệnh vòng lặp, mặc dù nó có thể được thay đổi bằng cách thực hiện các câu lệnh khác trong thân vòng lặp.
Các câu lệnh TRẢ LẠI QUAY LẠI và QUAY LẠI QUAY QUẢNG CÁO đặt FOUND đúng nếu truy vấn trả về ít nhất một hàng, sai nếu không có hàng nào được trả về.
Các câu lệnh PL / pgSQL khác không thay đổi trạng thái FOUND. Đặc biệt lưu ý rằng EXECUTE thay đổi đầu ra của GET DIAGNOSTICS, nhưng không thay đổi FOUND.
FOUND là một biến cục bộ trong mỗi hàm PL / pgSQL; mọi thay đổi đối với nó chỉ ảnh hưởng đến chức năng hiện tại.
select into
trả về không có dữ liệu vẫn sẽ đưa ra một ngoại lệ, phải không?