pl sql 프로시저 예제

Posted on

예를 들어 NOT NULL을 사용하면 매개 변수또는 함수 반환 값의 데이터 형식을 제한할 수 없습니다. 그러나 해결 방법을 사용하여 간접적으로 크기를 제한할 수 있습니다. “PL/SQL 절차 이해”를 참조하십시오. 저장된 함수 Gross_pay는 DEFAULT 절을 사용하여 두 개의 공식 매개 변수를 기본 값으로 초기화합니다. 예를 들어 패키지 변수는 다시 초기화됩니다(예: 패키지 변수에 기본값이 있는 경우 해당 값이 다시 초기화됩니다). 클래스 조절자는 주어진 비율로 직원의 급여를 인상하는 한 가지 방법이 있습니다. raiseSalary는 void 메서드이므로 Example 8-17에 표시된 호출 사양을 사용하여 프로시저로 게시한 다음 익명 PL/SQL 블록에서 프로시저 raise_salary를 호출할 수 있습니다. 유지 보수의 용이성 커서를 변경해야하는 경우 저장 프로시저와 같은 한 곳에서만 변경하면됩니다. 각 응용 프로그램을 변경할 필요가 없습니다.

위의 절차 `인사말`은 EXECUTE 키워드로 호출 할 수 있습니다 – 프로시저의 컴파일과 관련된 오류 텍스트는 프로시저를 대체 할 때 업데이트되고 프로시저를 삭제할 때 삭제됩니다. 프로시저 또는 함수에 과부하를 허용합니다. 프로시저를 오버로드하는 것은 동일한 패키지에 동일한 이름으로 여러 프로시저를 만드는 것을 의미하며, 각 프로시저는 서로 다른 수 또는 데이터 형식의 인수를 취합니다. IN 매개 변수만 준비되었습니다. 프로시저 내에서 IN 매개 변수를 참조할 수 있지만 해당 값을 변경할 수는 없습니다. 오라클은 IN을 기본 모드로 사용합니다. 즉, 매개 변수에 대 한 모드를 명시적으로 지정 하지 않으면 OracleIN 모드를 사용 합니다. PL/SQL 호출 사양을 사용하여 다른 언어로 작성된 외부 하위 프로그램을 호출하여 PL/SQL에서 해당 기능 및 라이브러리를 사용할 수 있도록 할 수 있습니다. 예를 들어 모든 PL/SQL 블록, 하위 프로그램 또는 패키지에서 Java 저장 프로시저를 호출할 수 있습니다. Java 저장 프로시저에 대한 자세한 내용은 Oracle 데이터베이스 Java 개발자 가이드를 참조하십시오. INOUT 매개 변수는 읽을 수 있고 쓰기 가 가능합니다.

프로시저는 이 절차를 읽고 수정할 수 있습니다. 저장 프로시저를 사용하여 판매를 분석하는 회사를 고려합니다. 회사에 서로 비슷한 SALES 테이블을 가진 여러 스키마가 있는 경우 일반적으로 각 스키마에 하나씩 저장된 프로시저의 여러 복사본이 필요합니다. 이제 사용자 APP는 하위 프로그램 FFT를 호출하는 함수와 프로시저를 컴파일할 수 있습니다. 런타임에는 호출에 대한 권한 검사가 수행되지 않습니다. 그림 8-2에서 볼 수 있듯이 사용자 UTIL은 FFT를 간접적으로 호출할 수 있는 모든 사용자에게 EXECUTE 권한을 부여할 필요가 없습니다. 프로시저가 정의자의 권한 프로시저인 경우 프로시저 소유자의 권한으로 실행됩니다. 소유자는 참조된 모든 개체에 필요한 모든 개체 권한을 가져야 합니다. 매개 변수가 있는 프로시저는 EXECor EXECUTEstatement다음에 프로시저의 이름과 해당 매개 변수를 아래와 같이 프로시저의 매개 변수 목록에 해당하는 순서로 사용하여 호출할 수 있습니다.

커서를 가리킵니다. 다음 패키지 예제에서는 두 개의 서로 다른 커서 중 하나를 가리키는 커서 변수를 여는 데 판별자가 사용됩니다. 부서.