Tôi có một số lưu trữ Oracle được lưu trữ trong đó có hơn 20 tham số đầu vào và từ chúng morethen 10 tham số được yêu cầu, tôi muốn tất cả với một số giá trị và không muốn chấp nhận null giá trị cho điều đó, Có bất cứ điều gì mà tôi có thể khai báo trong thủ tục hủy bỏ thủ tục chính nó có thể hạn chế tham số đầu vào null hoặc tôi sẽ phải kiểm tra cho mỗi giá trị và tăng ngoại lệ nếu giá trị yêu cầu là null?Làm thế nào để hạn chế các tham số đầu vào NULL vào quy trình lưu trữ oracle
Trả lời
Trong PL/SQL, tôi không biết cách kiểm tra từng cái.
Nếu bạn đang gọi thủ tục được lưu trữ từ thư viện bên ngoài, thư viện đó có thể có chức năng đó. Điều này có lẽ không có khả năng vì thông số đầu vào NULL thường xuyên được yêu cầu.
Bạn có thể thực hiện thủ tục PL/SQL trợ giúp, với một giá trị, sẽ tăng một ngoại lệ nếu nó là null để lưu trên mã dự phòng. Sau đó bạn có thể viết một đoạn của perl/python/groovy sẽ slurp lên khai báo thủ tục của bạn và quây ra các cuộc gọi đến thủ tục kiểm tra null của bạn.
Tôi biết đây là một câu hỏi cũ, nhưng có một tùy chọn (được mô tả here):
SUBTYPE varchar2_not_null IS VARCHAR2 NOT NULL;
Bạn có thể xác định loại hình này (và number_not_null
, vv) hoặc trong cùng một gói như thủ tục lưu trữ của bạn, hoặc trong gói riêng của họ nếu bạn muốn sử dụng chúng ở nhiều nơi. Sau đó bạn có thể khai báo các tham số của các kiểu này.
Nếu NULL
được thông qua như một cuộc tranh cãi, bạn sẽ nhận được một thông báo lỗi rất hữu ích:
cannot pass NULL to a NOT NULL constrained formal parameter
- 1. Truyền một mảng dữ liệu làm tham số đầu vào cho quy trình Oracle
- 2. Làm thế nào để hạn chế NULL như tham số để lưu trữ thủ tục SQL Server?
- 3. số Hạn chế đầu vào JTextField
- 4. Làm cách nào để nhập tham số mảng của các giá trị vào Quy trình lưu trữ Firebird?
- 5. Làm thế nào để xử lý các thông số đầu vào null trong Scala
- 6. Asp.Net Mvc JQuery tham số đầu vào ajax là null
- 7. Làm cách nào để sử dụng các tham số tùy chọn trong quy trình lưu trữ T-SQL?
- 8. Làm cách nào để lưu trữ các ký tự không giới hạn trong Oracle 11g?
- 9. làm thế nào để lưu trữ printf vào một biến?
- 10. làm thế nào để tạo một thủ tục lưu trữ trong oracle chấp nhận mảng tham số
- 11. Tham số "Boolean" cho thủ tục lưu sẵn Oracle
- 12. EF4.1 Mã Đầu tiên: Quy trình được lưu trữ với thông số đầu ra
- 13. Làm thế nào để xem Oracle lưu trữ thủ tục bằng cách sử dụng SQLPlus?
- 14. đối số quy trình được lưu trữ sql làm tham số cho truy vấn động
- 15. Làm thế nào để lọc IEnumerable dựa trên một tham số đầu vào thực thể
- 16. Tôi có thể có tham số OUTPUT tùy chọn trong quy trình được lưu trữ không?
- 17. Làm thế nào để hạn chế số ký tự nhập vào một vùng văn bản
- 18. Python-Oracle Đi vào một tham số con trỏ ra
- 19. Quy trình Java với luồng đầu vào/đầu ra
- 20. JTextField: Làm thế nào để hạn chế số lượng charaters?
- 21. Làm thế nào để lưu trữ các tham số cấu hình trong SVN?
- 22. Giới hạn đầu vào cho các số và. trên lĩnh vực đầu vào
- 23. Làm thế nào để lưu trữ đầu ra của recv()?
- 24. Đệ quy thêm tệp vào kho lưu trữ Subversion
- 25. Làm thế nào để lưu trữ các giá trị NSTimeInterval vào NSMutableArray?
- 26. Làm cách nào để lấy dữ liệu từ quy trình được lưu trữ vào bảng tạm thời?
- 27. Làm thế nào để bạn thêm một thư mục vào kho lưu trữ zip với ICSharpCode.SharpZipLib
- 28. Bạn có nên sử dụng varchar (max) làm đối số quy trình được lưu trữ không?
- 29. Làm cách nào để lưu trữ các ảnh chụp từ biểu thức chính quy Perl vào các biến riêng biệt?
- 30. Làm cách nào để truyền NULL vào tham số hàm va_list?
Ditto, tôi không nghĩ rằng có thể –
của nó Đó là điên! Tôi chỉ tìm thấy điều này sau khi di chuyển từ SQL Server, nơi nó đơn giản để nói "NOT NULL" bên cạnh tên tham số. – Milimetric