Tôi đã viết rất nhiều pro * c trong quá khứ và theo thời gian nhận ra rằng bạn không muốn kiểm tra mã trả về của câu lệnh PREPARE vì nó không bao giờ trả về bất kỳ giá trị nào. Đây là ý tôi:
Giá trị PREPARE sqlca.sqlcode là mã trả về của câu lệnh chạy ngay TRƯỚC câu lệnh PREPARE. Nói cách khác, nếu bạn kiểm tra đầu ra của câu lệnh PREPARE và câu lệnh được thực thi ngay trước khi câu lệnh PREPARE bị lỗi, thì mã trả về của lệnh chuẩn bị không thành công. Nếu câu lệnh trước đó thành công, thì CHUẨN BỊ dường như đã thành công.
Nói cách khác, giá trị chuẩn bị sqlca.sqlcode về cơ bản là không có gì cả (tự nó không bao giờ bị lỗi). Vì vậy, nếu PREPARE bây giờ không thành công, hãy kiểm tra câu lệnh được thực thi ngay trước câu lệnh PREPARE và đảm bảo bạn đang kiểm tra giá trị sqlca.sqlcode của câu lệnh đó. Đặt cược của tôi là câu lệnh trước đó không thành công và lỗi được trả về liên quan đến câu lệnh đó. Có ý nghĩa?
-Jim