ORA-01403
(Không tìm thấy dữ liệu) xảy ra khi truy vấn của bạn không trả về kết quả nào và bạn thử chuyển nó vào biến qua INTO
.
ORA-01422
(Quá nhiều hàng) xảy ra khi truy vấn của bạn trả về nhiều hơn 1 hàng mà bạn đang cố gắng vừa với INTO
.
Bạn đang xử lý no_data_found
từ SELECT
đầu tiên truy vấn nhưng bạn không xử lý too_many_rows
từ truy vấn đầu tiên. Nếu SELECT
đầu tiên của bạn truy vấn ném một no_data_found
ngoại lệ, nó sẽ được xử lý từ EXCEPTION
, ngược lại nếu nó ném một too_many_rows
ngoại lệ nó sẽ không thành công như hình ảnh thứ hai của bạn.
Vậy no_data_found
ở đâu ngoại lệ xảy ra? Có thể là từ bạn SELECT
thứ hai truy vấn.
Bạn nên lặp lại SELECT
đầu tiên để tránh no_data_found
hoặc too_many_rows
và đảm bảo rằng SELECT
thứ hai của bạn truy vấn luôn trả về 1 hàng.