Lỗi PLS-00306: Làm thế nào để tìm đối số sai?


11

PLS-00306: sai số hoặc loại đối số trong lệnh gọi đến 'chuỗi'

Nguyên nhân: Lỗi này xảy ra khi lệnh gọi chương trình con được đặt tên không thể khớp với bất kỳ khai báo nào cho tên chương trình con đó. Tên chương trình con có thể bị sai chính tả, một tham số có thể có kiểu dữ liệu sai, khai báo có thể bị lỗi hoặc khai báo có thể được đặt không chính xác trong cấu trúc khối. Ví dụ, lỗi này xảy ra nếu hàm căn bậc hai tích hợp SQRT được gọi với tên sai chính tả hoặc với tham số của kiểu dữ liệu sai.

Hành động: Kiểm tra chính tả và khai báo tên chương trình con. Cũng xác nhận rằng cuộc gọi của nó là chính xác, các tham số của nó là kiểu dữ liệu đúng và nếu không phải là hàm dựng sẵn, thì khai báo của nó được đặt chính xác trong cấu trúc khối.

Làm thế nào để tôi nhanh chóng xác định lập luận sai?

Tôi có một thủ tục lưu trữ với hàng tá tham số. Có một cách dễ dàng để kiểm tra sự khác biệt giữa thủ tục được sử dụng và được xác định? Tôi không muốn kiểm tra từng dòng một ..

Câu trả lời:


11

Không, thực sự không có phím tắt ở đây. Kiểm tra mọi thứ theo thứ tự sau:

  1. Kiểm tra tên thủ tục.
  2. Kiểm tra số lượng tham số.
  3. Kiểm tra các loại tham số.
  4. Kiểm tra tên tham số.

4
Cũng kiểm tra tên tham số nếu gọi chúng bằng tên. Điều đó chỉ bắt tôi ra.
swref

kiểm tra tên của các tham số là chìa khóa cho tôi, cảm ơn.
Arpit Aggarwal

Nó có thể là loại Đối tượng
Arthur
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.