수색…


소개

PLSQL 프로시 저는 재사용을 위해 서버에 저장된 SQL 문의 그룹입니다. SQL 문을 실행할 때마다 다시 컴파일 할 필요가 없기 때문에 성능이 향상됩니다.

저장 프로시 저는 여러 응용 프로그램에서 동일한 코드가 필요할 때 유용합니다. 저장 프로 시저를 사용하면 중복성이 제거되고 코드가 단순 해집니다. 클라이언트와 서버간에 데이터 전송이 필요할 때 절차를 통해 특정 상황에서 통신 비용을 줄일 수 있습니다.

통사론

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
  < declarations >
BEGIN
  < procedure_body >
EXCEPTION                      -- Exception-handling part begins
  <exception handling goes here >
   WHEN exception1 THEN 
       exception1-handling-statements
END procedure_name;
  • procedure-name은 프로 시저의 이름을 지정합니다.
  • [OR REPLACE] 옵션을 사용하면 기존 프로 시저를 수정할 수 있습니다.
  • 선택적 매개 변수 목록에는 매개 변수의 이름, 모드 및 유형이 포함됩니다. IN은 외부에서 전달되는 값을 나타내고 OUT은이 매개 변수가 프로 시저 외부에서 값을 반환하는 데 사용됨을 나타냅니다. 모드를 지정하지 않으면 매개 변수는 IN 모드로 간주됩니다.
  • 선언 섹션에서 본문 부분에 사용될 변수를 선언 할 수 있습니다.
  • procedure-body에는 실행 부분이 있습니다.
  • 독립형 프로 시저를 만들 때 IS 키워드 대신 AS 키워드가 사용됩니다.
  • 예외 섹션은 프로 시저의 예외를 처리합니다. 이 섹션은 선택 사항입니다.

안녕하세요 세계

다음의 간단한 절차는 dbms_output 을 지원하는 클라이언트에서 "Hello World"텍스트를 표시합니다.

CREATE OR REPLACE PROCEDURE helloworld
AS
BEGIN
   dbms_output.put_line('Hello World!');
END;
/

SQL 프롬프트에서 이것을 실행하여 데이터베이스에 프로 시저를 작성하거나 아래 쿼리를 실행하여 동일한 결과를 얻을 수 있습니다.

SELECT 'Hello World!' from dual;

입력 / 출력 매개 변수

PL / SQL은 IN, OUT, IN OUT 키워드를 사용하여 전달 된 매개 변수에 발생할 수있는 것을 정의합니다.

IN은 매개 변수가 읽기 전용이고 값을 프로 시저로 변경할 수 없도록 지정합니다.

OUT은 매개 변수가 쓰기 전용이고 프로시 저는 매개 변수에 값을 할당 할 수 있지만 값을 참조 할 수는 없음을 지정합니다.

IN OUT은 매개 변수가 참조 및 수정에 사용 가능함을 지정합니다.

PROCEDURE procedureName(x IN INT, strVar IN VARCHAR2, ans OUT VARCHAR2)
...
...
END procedureName;


procedureName(firstvar, secondvar, thirdvar);

위의 예제에서 전달 된 변수는 프로 시저 매개 변수 섹션에 정의 된대로 입력해야합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow