programing

NULL 입력 파라미터를 Oracle 저장 프로시저로 제한하는 방법

padding 2023. 9. 25. 22:23
반응형

NULL 입력 파라미터를 Oracle 저장 프로시저로 제한하는 방법

나는 여기에 오라클 저장 프로시저를 작성했는데 20개 이상의 입력 파라미터가 있고 그로부터 10개 이상의 파라미터가 필요합니다. 나는 모든 값이 어느 정도 포함되기를 원하며 그것에 대해 null 값을 수용하고 싶지 않습니다.절차 정의 자체에서 null 입력 파라미터를 제한할 수 있는 선언할 수 있는 것이 있습니까? 또는 각 값에 대해 확인해야 합니까? 그리고 필요한 값이 null일 경우 예외를 제기합니다.

이것이 오래된 질문이라는 것을 알고 있지만 다른 옵션이 있습니다(여기에 설명됨).

SUBTYPE varchar2_not_null IS VARCHAR2 NOT NULL;

이 유형을 정의할 수 있습니다.number_not_null, 보관 중인 절차와 동일한 패키지 또는 여러 곳에서 사용하고자 하는 경우 자체 패키지에 포함됩니다.그런 다음 매개 변수를 이러한 유형으로 선언할 수 있습니다.

한다면NULL인수로 전달되면 매우 유용한 오류 메시지가 나타납니다.

cannot pass NULL to a NOT NULL constrained formal parameter

PL/SQL에서는 각각의 것을 확인하는 방법을 알지 못합니다.

외부 라이브러리에서 저장 프로시저를 호출하는 경우 해당 라이브러리에 해당 기능이 있을 수 있습니다.NULL 입력 파라미터가 자주 필요하기 때문에 그럴 가능성은 없습니다.

중복 코드를 저장하기 위해 null일 경우 값이 주어지면 예외를 발생시키는 도우미 PL/SQL 프로시저를 만들 수 있습니다.그런 다음 perl/python/groovy 덩어리를 작성하여 절차 선언을 후려치고 이러한 호출을 null check procedure로 크랭크아웃할 수 있습니다.

언급URL : https://stackoverflow.com/questions/116525/how-to-restrict-null-input-parameters-into-oracle-stored-procedure

반응형