수색…
소개
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