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.