programing

Oracle 스토어드 프로시저에서 "현황"과 "현황"의 차이점은 무엇입니까?

minimums 2023. 3. 19. 18:01
반응형

Oracle 스토어드 프로시저에서 "현황"과 "현황"의 차이점은 무엇입니까?

Oracle 프로시저는 때로는 "AS"로, 때로는 "IS" 키워드로 작성되어 있습니다.

CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...

대.

CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...

둘 사이에 어떤 차이가 있나요?


Edit: Apparently, there is no functional difference between the two, but some people follow a convention to use "AS" when the SP is part of a package and "IS" when it is not. Or the other way 'round. Meh.

아니, 아니야.코드 가독성을 높이기 위해 제공되는 동의어입니다.

기능 f는...

VIEW vAS SELECT 생성...

한 가지 사소한 차이...

패키지와 프로시저의 동의어이지만 커서의 동의어는 아닙니다.

이 방법은...

cursor test_cursor
is
select * from emp;

...하지만, 이것은 아닙니다.

cursor test_cursor
as
select * from emp;

"IS"와 "AS"는 절차 및 패키지를 작성할 때 동의어 역할을 하지만 커서, 테이블 또는 보기에 대해서는 그렇지 않습니다.

또 다른 차이점(10g 단위, 어쨌든)

루즈 개체 유형 지정:

CREATE TYPE someRecordType AS OBJECT
(
   SomeCol VARCHAR2(12 BYTE)
);

작성할 수 있습니다.loose다음 중 하나를 포함하는 이 개체 유형의 테이블 유형AS또는IS

CREATE OR REPLACE TYPE someTableType
        IS {or AS} TABLE OF someRecordType;

그러나 패키지 내에 동일한 테이블 유형을 생성할 경우 다음을 사용해야 합니다.IS:

CREATE OR REPLACE PACKAGE SomePackage IS
    TYPE packageTableType IS TABLE OF someRecordType;
END SomePackage;

사용방법AS패키지의 경우 다음 오류가 발생합니다.

오류(2,30): PLS-00103: 다음 중 하나를 예상할 때 "TABLE" 기호가 발생했습니다. 객체 불투명

Tutorials Point에 따라

스탠드아론 프로시저를 작성하려면 IS 키워드 대신 AS 키워드가 사용됩니다.

지금까지의 답변을 생각하면

그런 것 같다.

AS스탠드아론(블록, 서브프로그램, 패키지 포함) 엔티티용

그리고.

IS(블록, 서브프로그램 또는 패키지 내에) 내장된 엔티티용입니다.

.

스탠드아론 함수를 작성하려면 IS 키워드 대신 AS 키워드가 사용됩니다.

[독립형으로 저장된 함수는 데이터베이스에 저장된 함수(단일 값을 반환하는 하위 프로그램)입니다.주의: CREATE FUNTION 문을 사용하여 작성하는 스탠드아론 저장 함수는 PL/SQL 블록 또는 패키지에서 선언 및 정의하는 함수와 다릅니다.]

자세한 것은, 이쪽을 봐 주세요.

언급URL : https://stackoverflow.com/questions/230348/what-is-the-difference-between-as-and-is-in-an-oracle-stored-procedure

반응형