SnowConvert: Oracle에 대한 함수 참조

DATEDIFF_UDF(TIMESTAMP, NUMBER)

정의

이 사용자 정의 함수(UDF)는 타임스탬프 에서 숫자 (일 수)를 빼는 데 사용됩니다.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM TIMESTAMP, SECOND_PARAM NUMBER)
Copy

매개 변수

FIRST_PARAM TIMESTAMP

minuend를 나타내는 타임스탬프 입니다.

SECOND_PARAM NUMBER

하위 기간을 나타내는 일 수입니다.

반환

타임스탬프숫자 의 차이가 있는 타임스탬프를 반환합니다.

사용법 예

입력:

SELECT PUBLIC.DATEDIFF_UDF('2024-01-26 22:00:50.708 -0800', 3);
Copy

출력:

2024-01-23
Copy

DATEDIFF_UDF(TIMESTAMP, DATE)

정의

이 사용자 정의 함수(UDF)는 타임스탬프 에서 날짜 를 빼는 데 사용됩니다.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM TIMESTAMP, SECOND_PARAM DATE)
Copy

매개 변수

FIRST_PARAM TIMESTAMP

minuend를 나타내는 타임스탬프 입니다.

SECOND_PARAM DATE

subtrahend를 나타내는 날짜 입니다.

반환

타임스탬프날짜 사이에 차이가 있는 정수를 반환합니다.

사용법 예

입력:

SELECT PUBLIC.DATEDIFF_UDF('2024-01-26 22:00:50.708 -0800', TO_DATE('2023-01-26'));
Copy

출력:

365
Copy

DATE_TO_JULIAN_DAYS_UDF

정의

이 사용자 정의 함수(UDF)는 그레고리력 날짜에서 율리우스력 날짜(4712년 1월 1일 BC 이후 일수)로 변환합니다.

PUBLIC.DATE_TO_JULIAN_DAYS_UDF(INPUT_DATE DATE)
Copy

매개 변수

INPUT_DATE DATE

변환할 그레고리력 날짜.

반환

율리우스력 날짜의 날짜 표현을 반환합니다.

마이그레이션 예시

입력:

Select TO_CHAR(SYSDATE, 'J') as A from DUAL;
Copy

출력:

Select
PUBLIC.DATE_TO_JULIAN_DAYS_UDF(CURRENT_TIMESTAMP()) as A from DUAL;
Copy

사용법 예

입력:

SELECT PUBLIC.DATE_TO_JULIAN_DAYS_UDF(DATE '1998-12-25');
Copy

출력:

2451173
Copy

UTL_FILE.PUT_LINE_UDF

정의

이 사용자 정의 함수(UDF)는 Oracle UTL_FILE_PUT_LINE 프로시저의 기능을 복제하는 데 사용됩니다.

UTL_FILE.PUT_LINE_UDF(FILE VARCHAR,BUFFER VARCHAR)
Copy

매개 변수

FILE VARCHAR

새 버퍼를 열고 저장할 파일입니다.

BUFFER VARCHAR

정의된 파일에 저장할 버퍼입니다.

반환

결과가 포함된 varchar을 반환합니다.

사용법 예

경고

파일의 라인을 검토하는 방법에는 다음의 두 가지가 있습니다. Snowflake에서 파일을 다운로드하거나 SELECT * FROM UTL_FILE.FOPEN_TABLES_LINES 로 정보를 간단히 검토하십시오. 단, 파일이 닫히지 않은 경우에만 가능합니다.

입력:

CREATE OR REPLACE PROCEDURE PROC()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
    file_data  VARIANT;
   BEGIN

    CALL UTL_FILE.FOPEN_UDF('test2.csv','a');

    SELECT
      *
    INTO
      file_data
    FROM
      TABLE(RESULT_SCAN(LAST_QUERY_ID()));

    CALL UTL_FILE.PUT_LINE_UDF(:file_data,'New line');


    CALL UTL_FILE.FCLOSE_UDF(:file_data);


   END
$$;

CALL PROC();
Copy

출력:

null
Copy

UTL_FILE.FOPEN_UDF (VARCHAR,VARCHAR)

정의

이 사용자 정의 함수(UDF)는 Oracle UTL_FILE_FOPEN 프로시저의 기능을 복제하는 데 사용됩니다.

UTL_FILE.FOPEN_UDF(FILENAME VARCHAR,OPEN_MODE VARCHAR)
Copy

매개 변수

FILENAME VARCHAR

열려는 파일입니다.

OPEN_MODE VARCHAR

파일을 사용할 수 있는 모드를 나타냅니다.

반환

결과가 포함된 varchar을 반환합니다.

사용법 예

경고

UTL_FILE.FOPEN_UDF 에서 .csv 파일을 열 수 있습니다. 파일에 액세스하려면 해당 파일에 대해 스테이지 를 생성하고 Snowflake CLI 를 사용하여 파일을 업로드해야 합니다.

입력:

CREATE OR REPLACE PROCEDURE PROC()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
    file_data  VARIANT;
   BEGIN

    CALL UTL_FILE.FOPEN_UDF('test2.csv','a');

    SELECT
      *
    INTO
      file_data
    FROM
      TABLE(RESULT_SCAN(LAST_QUERY_ID()));


   END
$$;

CALL PROC();
Copy

출력:

null
Copy

JSON_VALUE_UDF

정의

이 사용자 정의 함수(UDF)는 JSON_VALUE 함수를 재현하여 JSON 변수에서 단일 결과를 추출합니다.

JSON_VALUE_UDF(JSON_OBJECT VARIANT, JSON_PATH STRING, RETURNING_TYPE STRING, ON_ERROR_MESSAGE VARIANT, ON_EMPTY_MESSAGE VARIANT)
Copy

매개 변수

JSON_OBJECT VARIANT

값을 추출할 JSON 변수입니다.

JSON_PATH STRING

JSON_OBJECT 내에서 값이 어디에 위치하는지 나타내는 JSON 경로입니다.

RETURNING_TYPE STRING

반환할 유형입니다.

ON_ERROR_MESSAGE VARIANT

필요한 경우 추가할 오류 메시지입니다.

ON_EMPTY_MESSAGE VARIANT

메시지가 비어 있는 경우 추가할 오류 메시지입니다.

반환

JSON_OBJECT 내에 JSON_PATH 로 지정된 단일 값을 반환합니다. 결과가 단일 값이 아닌 경우 기본값 오류 메시지 또는 입력 매개 변수에 정의된 오류 메시지를 반환합니다.

사용법 예

입력:

   SELECT
     JSON_VALUE_UDF(

     PARSE_JSON('{
  "iceCreamOrders": [
    {
      "customerID": "CUST001",
      "orderID": "ORD001",
      "productID": "PROD001",
      "quantity": 2
    }
  ]
}'),

JSON_EXTRACT_PATH_TEXT('{
  "iceCreamOrders": [
    {
      "customerID": "CUST001",
      "orderID": "ORD001",
      "productID": "PROD001",
      "quantity": 2
    }
  ]
}', 'iceCreamOrders'), 'VARIANT', TO_VARIANT('There was an error'), TO_VARIANT('Empty message'));
Copy

출력:

"Empty message"
Copy

DATEADD_UDF (FLOAT, TIMESTAMP)

정의

이 사용자 정의 함수(UDF)는 float 번호와 타임스탬프 사이에 추가가 있는 경우에 사용됩니다.

PUBLIC.DATEADD_UDF(FIRST_PARAM FLOAT, SECOND_PARAM TIMESTAMP)
Copy

매개 변수

FIRST_PARAM FLOAT

두 번째 float 매개 변수와 함께 추가할 타임스탬프 번호입니다.

SECOND_PARAM DATE

첫 번째 매개 변수의 타임스탬프와 함께 추가할 실수입니다.

반환

타임스탬프와 지정된 부동 소수점 번호 사이에 덧셈이 있는 타임스탬프를 반환합니다.

사용법 예

입력:

SELECT DATEADD_UDF(1, current_timestamp);
Copy

출력:

2024-01-30 18:47:16.988
Copy

FETCH_BULK_COLLECTIONS_UDF (OBJECT)

정의

이 사용자 정의 함수(UDF)는 Oracle에서 컬렉션에 대한 대량 가져오기 기능을 복제하는 데 사용됩니다. 이 함수 버전은 커서만 수신합니다.

FETCH_BULK_COLLECTIONS_UDF(CURSOR OBJECT)
Copy

매개 변수

CURSOR OBJECT

처리되고 fetch bulk collection 에서 데이터로 채워지는 커서입니다.

반환

대량 컬렉션을 가져오는 논리와 관련된 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTIONS_UDF(:MY_CURSOR)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    [
      "TEST_A"
    ]
  ],
  "ROWCOUNT": 1
}
Copy

DATEADD_UDF (DATE, FLOAT)

정의

이 사용자 정의 함수(UDF)는 float 또는 타임스탬프 와 같이 날짜와 유형 사이에 덧셈이 있는 경우에 사용됩니다.

PUBLIC.DATEADD_UDF(FIRST_PARAM DATE, SECOND_PARAM FLOAT)
Copy

매개 변수

FIRST_PARAM DATE

두 번째 매개 변수의 숫자와 함께 추가할 날짜입니다.

SECOND_PARAM FLOAT

첫 번째 날짜 매개 변수와 함께 추가할 실수입니다.

반환

날짜와 지정된 실수 사이의 덧셈을 반환합니다.

마이그레이션 예시

입력:

SELECT TO_DATE('05/11/21', 'dd/mm/yy') + 3.4 from dual;
Copy

출력:

SELECT
PUBLIC.DATEADD_UDF( TO_DATE('05/11/21', 'dd/mm/yy'), 3.4) from dual;
Copy

사용법 예

입력:

SELECT DATEADD_UDF('2022-02-14',6);
Copy

출력:

2022-02-20
Copy

DATEDIFF_UDF(DATE, TIMESTAMP)

정의

이 사용자 정의 함수(UDF)는 날짜 에서 타임스탬프 를 빼는 데 사용됩니다.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM DATE, SECOND_PARAM TIMESTAMP)
Copy

매개 변수

FIRST_PARAM DATE

빼기 이상의 날짜가 완료됩니다.

SECOND_PARAM TIMESTAMP

타임스탬프 를 첫 번째 매개 변수에서 뺍니다.

반환

첫 번째 매개 변수와 두 번째 매개 변수 사이의 날짜가 포함된 정수를 반환합니다.

사용법 예

입력:

SELECT PUBLIC.DATEDIFF_UDF(TO_DATE('2024-01-26'), '2022-02-14 15:31:00');
Copy

출력:

711
Copy

DBMS_RANDOM.VALUE_UDF

정의

이 사용자 정의 함수(UDF)는 Oracle DBMS_RANDOM.VALUE 함수의 기능을 복제하는 것입니다.

DBMS_RANDOM.VALUE_UDF()
Copy

매개 변수

입력 매개 변수가 없습니다.

반환

임의의 숫자와 함께 double 숫자를 반환합니다.

사용법 예

입력:

SELECT DBMS_RANDOM.VALUE_UDF();
Copy

출력:

0.6666235896
Copy

DBMS_RANDOM.VALUE_UDF (DOUBLE, DOUBLE)

정의

이 사용자 정의 함수(UDF)는 Oracle DBMS_RANDOM.VALUE 함수의 기능을 복제하는 것입니다.

DBMS_RANDOM.VALUE_UDF(low DOUBLE, high DOUBLE)
Copy

매개 변수

low DOUBLE

고려해야 할 초기 제한 사항입니다.

high DOUBLE

첫 번째 매개 변수와 일치하는 구분 기호입니다.

반환

지정된 제한 사이에 임의의 숫자가 포함된 double 숫자를 반환합니다.

사용법 예

입력:

SELECT DBMS_RANDOM.VALUE_UDF(1.1, 2.2);
Copy

출력:

1.637802374
Copy

FETCH_BULK_RECORD_COLLECTIONS_UDF (OBJECT, ARRAY)

정의

이 사용자 정의 함수(UDF)는 추가되는 정보 또는 커서의 동작을 결정하는 다양한 입력 변수가 있는 fetch bulk records 의 기능을 다루는 데 사용됩니다.

FETCH_BULK_RECORD_COLLECTIONS_UDF(CURSOR OBJECT, COLUMN_NAMES ARRAY)
Copy

매개 변수

CURSOR OBJECT

처리 중인 커서입니다.

COLUMN_NAMES ARRAY

커서에 연결된 열 이름입니다.

반환

처리된 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));
INSERT INTO BULKCOLLECTTABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_RECORD_COLLECTIONS_UDF(:MY_CURSOR, NULL)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "RESULT": {
    "TEST": [
      "TEST_A"
    ]
  },
  "ROWCOUNT": 1
}
Copy

FETCH_BULK_COLLECTION_RECORDS_UDF (OBJECT, ARRAY)

정의

이 사용자 정의 함수(UDF)는 Oracle에서 FETCH 의 기능을 복제하는 데 사용됩니다. 커서와 열 이름을 받는 변형입니다.

FETCH_BULK_COLLECTION_RECORDS_UDF(CURSOR OBJECT, COLUMN_NAMES ARRAY)
Copy

매개 변수

CURSOR OBJECT

처리되어 fetch bulk 에서 데이터로 채워지는 커서입니다.

COLUMN_NAMES ARRAY

열과 연결된 이름은 초기 이름이 아닙니다.

반환

fetch bulk 의 레코드가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTION_RECORDS_UDF(:MY_CURSOR, NULL)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    {
      "TEST": "TEST_A"
    }
  ],
  "ROWCOUNT": 1
}
Copy

JULIAN_TO_GREGORIAN_DATE_UDF

정의

이 사용자 정의 함수(UDF)는 율리우스력 날짜를 JD Edwards, YYYYDDD (천문력), YYYYDDD (서수) 형식에 맞게 변환하는 데 사용됩니다.

JULIAN_TO_GREGORIAN_DATE_UDF(JULIAN_DATE CHAR(7), FORMAT_SELECTED CHAR(1))
Copy

매개 변수

JULIAN_DATE CHAR

변환할 율리우스력 날짜.

FORMAT_SELECTED CHAR

논리의 필수 형식입니다. 예: 'E', 'J', 'R'. 천문학 표준화 또는 'J' 가 기본 형식입니다.

반환

율리우스력 날짜의 날짜 표현이 포함된 베리언트를 반환합니다.

사용법 예

입력:

SELECT JULIAN_TO_GREGORIAN_DATE_UDF('098185');
Copy

출력:

'1998-07-04' --(a.k.a Sat Jul 04 1998)
Copy

TIMESTAMP_DIFF_UDF

정의

이 사용자 정의 함수(UDF)는 Snowflake의 타임스탬프 산술 작업과 동등성 기능에 사용됩니다.

TIMESTAMP_DIFF_UDF(LEFT_TS TIMESTAMP, RIGHT_TS TIMESTAMP )
Copy

매개 변수

LEFT_TS TIMESTAMP

마이너스 값입니다.

RIGHT_TS TIMESTAMP

서브헨드 값입니다.

반환

타임스탬프 간의 결과 차이가 있는 varchar을 반환합니다.

사용법 예

입력:

SELECT TIMESTAMP_DIFF_UDF(TO_TIMESTAMP('2024-01-31 11:47:20.532 -0800'), TO_TIMESTAMP('2024-01-31 11:47:20.532 -0800'));
Copy

출력:

-000000000  00:00:00.00000000
Copy

REGEXP_LIKE_UDF (STRING, STRING, STRING)

정의

이 사용자 정의 함수 (UDF)는 다음과 같습니다

REGEXP_LIKE_UDF(COL STRING, PATTERN STRING, MATCHPARAM STRING)
Copy

매개 변수

COL STRING

패턴으로 평가할 문자열입니다.

PATTERN STRING

확인할 패턴입니다.

MATCHPARAM STRING

대/소문자를 구분할지 여부를 결정하는 일치 매개 변수입니다.

반환

반환

사용법 예

입력:

SELECT REGEXP_LIKE_UDF('san Francisco', 'San* [fF].*', 'i');
Copy

출력:

TRUE
Copy

FETCH_BULK_COLLECTIONS_UDF (OBJECT, FLOAT)

정의

이 사용자 정의 함수(UDF)는 Oracle에서 컬렉션에 대한 대량 가져오기 기능을 복제하는 데 사용됩니다. 이 함수 버전은 커서와 행 수에 대한 제한 값을 받습니다.

FETCH_BULK_COLLECTIONS_UDF(CURSOR OBJECT, LIMIT FLOAT)
Copy

매개 변수

CURSOR OBJECT

처리되고 fetch bulk collection 에서 데이터로 채워지는 커서입니다.

LIMIT FLOAT

호출할 레코드의 제한입니다.

반환

대량 컬렉션을 가져오는 논리와 관련된 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTIONS_UDF(:MY_CURSOR, 1.0)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    [
      "TEST_A"
    ]
  ],
  "ROWCOUNT": 1
}
Copy

INIT_CURSOR_UDF

정의

이 사용자 정의 함수(UDF)는 커서 오브젝트를 동등한 기능으로 초기화하는 기능입니다.

INIT_CURSOR_UDF(NAME VARCHAR, QUERY VARCHAR)
Copy

매개 변수

NAME VARCHAR

커서의 이름입니다.

QUERY VARCHAR

커서와 연관된 쿼리입니다.

반환

커서 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "ISOPEN": false,
  "NAME": "MY_CURSOR",
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "ROWCOUNT": -1
}
Copy

UPDATE_PACKAGE_VARIABLE_STATE_UDF

정의

이 사용자 정의 함수(UDF)는 지정된 패키지 변수 값을 업데이트합니다. Snowflake SETVARIABLE() 함수를 위한 래퍼입니다.

UPDATE_PACKAGE_VARIABLE_STATE_UDF (VARIABLE VARCHAR, NEW_VALUE VARCHAR)
Copy

매개 변수

VARIABLE VARCHAR

값을 설정할 변수 이름입니다.

NEW_VALUE VARCHAR

저장할 값입니다.

반환

업데이트된 변수의 정보가 포함된 varchar을 반환합니다.

사용법 예

경고

변수의 존재 여부를 검토하십시오.

입력:

CALL PUBLIC.UPDATE_PACKAGE_VARIABLE_STATE_UDF('MY_LOCAL_VARIABLE', '1');
Copy

출력:

1
Copy

OPEN_BULK_CURSOR_UDF (OBJECT)

정의

이 사용자 정의 함수(UDF)는 바인딩 없이 커서에 펜을 대는 데 사용됩니다.

OPEN_BULK_CURSOR_UDF(CURSOR OBJECT)
Copy

매개 변수

CURSOR OBJECT

열려 있는 것으로 처리할 커서입니다.

반환

커서의 현재 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "ROWCOUNT": 0
}
Copy

DATEADD_UDF (TIMESTAMP, FLOAT)

정의

이 사용자 정의 함수(UDF)는 타임스탬프부동 소수점 숫자 사이에 추가가 있는 경우에 사용됩니다.

PUBLIC.DATEADD_UDF(FIRST_PARAM TIMESTAMP, SECOND_PARAM FLOAT)
Copy

매개 변수

FIRST_PARAM TIMESTAMP

두 번째 float 매개 변수와 함께 추가할 타임스탬프 번호입니다.

SECOND_PARAM FLOAT

첫 번째 매개 변수의 타임스탬프와 함께 추가할 실수입니다.

반환

타임스탬프와 지정된 부동 소수점 번호 사이에 덧셈이 있는 타임스탬프를 반환합니다.

사용법 예

입력:

SELECT DATEADD_UDF(current_timestamp, 1);
Copy

출력:

2024-01-26 13:22:49.354
Copy

DATEDIFF_UDF(TIMESTAMP, TIMESTAMP)

정의

이 사용자 정의 함수(UDF)는 다른 타임스탬프 에서 타임스탬프 를 뺍니다.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM TIMESTAMP, SECOND_PARAM TIMESTAMP)
Copy

매개 변수

FIRST_PARAM TIMESTAMP

minuend를 나타내는 타임스탬프 입니다.

SECOND_PARAM TIMESTAMP

subtrahend를 나타내는 타임스탬프 입니다.

반환

첫 번째 타임스탬프와 두 번째 타임스탬프 사이의 일수 차이가 있는 정수를 반환합니다.

사용법 예

입력:

SELECT PUBLIC.DATEDIFF_UDF('2024-01-26 22:00:50.708 -0800','2023-01-26 22:00:50.708 -0800');
Copy

출력:

365
Copy

UTL_FILE.FCLOSE_UDF

정의

이 사용자 정의 함수(UDF)는 Oracle UTL_FILE_FCLOSE 프로시저의 기능을 복제하는 데 사용됩니다.

UTL_FILE.FCLOSE_UDF(FILE VARCHAR)
Copy

매개 변수

FILE VARCHAR

처리하고 닫을 파일입니다.

반환

결과가 포함된 varchar을 반환합니다.

사용법 예

경고

UTL_FILE.FCLOSE_UDF 는 처리 중인 파일을 닫습니다. 결과를 검토하거나 파일을 처리하려면 Snowflake CLI 콘솔을 사용해야 합니다. Snowflake CLI 콘솔에서 파일을 업로드하거나 다운로드할 수 있습니다.

입력:

CREATE OR REPLACE PROCEDURE PROC()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
    file_data  VARIANT;
   BEGIN

    CALL UTL_FILE.FOPEN_UDF('test2.csv','a');

    SELECT
      *
    INTO
      file_data
    FROM
      TABLE(RESULT_SCAN(LAST_QUERY_ID()));

    CALL UTL_FILE.PUT_LINE_UDF(:file_data,'New line');


    CALL UTL_FILE.FCLOSE_UDF(:file_data);


   END
$$;

CALL PROC();
Copy

출력:

null
Copy

FETCH_BULK_RECORD_COLLECTIONS_UDF (OBJECT)

정의

이 사용자 정의 함수(UDF)는 추가되는 정보 또는 커서의 동작을 결정하는 다양한 입력 변수가 있는 fetch bulk records 의 기능을 다루는 데 사용됩니다.

FETCH_BULK_RECORD_COLLECTIONS_UDF(CURSOR OBJECT)
Copy

매개 변수

CURSOR OBJECT

처리 중인 커서입니다.

반환

처리된 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));
INSERT INTO BULKCOLLECTTABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_RECORD_COLLECTIONS_UDF(:MY_CURSOR)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "RESULT": {
    "TEST": [
      "TEST_A"
    ]
  },
  "ROWCOUNT": 1
}
Copy

CAST_DATE_UDF

정의

이 함수는 문자열 형식의 타임스탬프를 날짜로 처리합니다. 지정된 형식의 날짜를 반환합니다.

PUBLIC.CAST_DATE_UDF(DATESTR STRING)
Copy

매개 변수

DATESTR STRING

날짜를 문자열 형식으로 입력합니다. 형식은 ‘YYYY-MM-DD"T"HH24:MI:SS.FF' (예: '2024-01-25T23:25:11.120')여야 합니다.

여기 에서 형식 지정에 대한 다음 정보를 검토하십시오.

반환

새 형식이 적용된 날짜 를 반환합니다.

사용법 예

입력:

SELECT PUBLIC.CAST_DATE_UDF('2024-01-25T23:25:11.120');
Copy

출력:

2024-01-25
Copy

FETCH_BULK_COLLECTION_RECORDS_UDF (OBJECT, FLOAT, ARRAY)

정의

이 사용자 정의 함수(UDF)는 Oracle에서 FETCH 의 기능을 복제하는 데 사용됩니다. 커서, 제한 및 열 이름을 받는 변형입니다.

FETCH_BULK_COLLECTION_RECORDS_UDF(CURSOR OBJECT, LIMIT FLOAT, COLUMN_NAMES ARRAY)
Copy

매개 변수

CURSOR OBJECT

처리되어 fetch bulk 에서 데이터로 채워지는 커서입니다.

LIMIT FLOAT

호출할 레코드의 제한입니다.

COLUMN_NAMES ARRAY

열과 연결된 이름은 초기 이름이 아닙니다.

반환

fetch bulk 의 레코드가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTION_RECORDS_UDF(:MY_CURSOR, 1.0, NULL)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    {
      "TEST": "TEST_A"
    }
  ],
  "ROWCOUNT": 1
}
Copy

DATEDIFF_UDF(DATE, INTEGER)

정의

이 사용자 정의 함수(UDF)는 날짜에 대해 일수를 뺀 값을 적용합니다.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM DATE, SECOND_PARAM INTEGER)
Copy

매개 변수

FIRST_PARAM DATE

빼기를 적용할 초기 날짜입니다.

SECOND_PARAM INTEGER

첫 번째 날짜 매개 변수에서 뺄 일 수입니다.

반환

지정된 일수를 뺀 날짜를 반환합니다.

사용법 예

입력:

SELECT PUBLIC.DATEDIFF_UDF(TO_DATE('2024-01-26'), 365);
Copy

출력:

2023-01-26
Copy

DATE_TO_RR_FORMAT_UDF

정의

이 사용자 정의 함수(UDF)는 날짜에서 Oracle RR 날짜/시간 형식 날짜로 변환합니다

PUBLIC.DATE_TO_RR_FORMAT_UDF(INPUT_DATE DATE)
Copy

매개 변수

INPUT_DATE DATE

변환할 날짜입니다.

반환

연도가 포함된 입력 날짜가 RR 형식으로 조정되었습니다.

마이그레이션 예시

입력:

Select TO_DATE('17-NOV-30','DD-MON-RR') as A from DUAL;
Copy

출력:

Select
PUBLIC.DATE_TO_RR_FORMAT_UDF( TO_DATE('17-NOV-30', 'DD-MON-YY')) as A from DUAL;
Copy

사용법 예

입력:

PUBLIC.CONVERT_DATE_WITH_RR_FORMAT_UDF(TO_DATE('17-NOV-30','DD-MON-YY')) as A from DUAL;
Copy

출력:

2030-11-17
Copy

FETCH_BULK_RECORD_COLLECTIONS_UDF (OBJECT, INTEGER)

정의

이 사용자 정의 함수(UDF)는 추가되는 정보 또는 커서의 동작을 결정하는 다양한 입력 변수가 있는 fetch bulk records 의 기능을 다루는 데 사용됩니다.

FETCH_BULK_RECORD_COLLECTIONS_UDF(CURSOR OBJECT, LIMIT INTEGER)
Copy

매개 변수

CURSOR OBJECT

처리 중인 커서입니다.

LIMIT INTEGER

행 수 제한입니다.

반환

처리된 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));
INSERT INTO BULKCOLLECTTABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_RECORD_COLLECTIONS_UDF(:MY_CURSOR, 0)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": false,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": true,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "RESULT": {
    "TEST": []
  },
  "ROWCOUNT": 0
}
Copy

DBMS_OUTPUT.PUT_LINE_UDF

정의

이 사용자 정의 함수(UDF)는 Oracle DBMS_OUTPUT_PUT_LINE 함수의 기능을 복제하는 데 사용됩니다.

DBMS_OUTPUT.PUT_LINE_UDF(LOG VARCHAR)
Copy

경고

이 UDF 를 사용하면 성능에 영향을 미칠 수 있습니다. 정보 로깅을 시작하려면 함수 내부의 구현을 주석 해제하십시오.

매개 변수

LOG VARCHAR

명령줄에 표시할 정보입니다.

반환

기록된 정보와 함께 varchar 을 반환합니다.

사용법 예

입력:

SELECT DBMS_OUTPUT.PUT_LINE_UDF(to_varchar(123));
Copy

출력:

123
Copy

DATEDIFF_UDF(DATE, DATE)

정의

이 사용자 정의 함수(UDF)는 두 날짜 사이에 뺄셈이 있을 때 사용됩니다.

PUBLIC.DATEDIFF_UDF(FIRST_PARAM DATE, SECOND_PARAM DATE)
Copy

매개 변수

FIRST_PARAM DATE

뺄셈에서 마이너스를 나타내는 날짜입니다.

SECOND_PARAM DATE

뺄셈에서 아랫줄을 나타내는 날짜입니다.

반환

날짜 사이의 일수가 포함된 정수를 반환합니다.

사용법 예

입력:

SELECT PUBLIC.DATEDIFF_UDF(TO_DATE('2024-01-26'), TO_DATE('2023-01-26'));
Copy

출력:

365
Copy

OPEN_BULK_CURSOR_UDF (OBJECT, ARRAY)

정의

이 사용자 정의 함수(UDF)는 바인딩이 있는 커서를 여는 데 사용됩니다.

OPEN_BULK_CURSOR_UDF(CURSOR OBJECT, BINDINGS ARRAY)
Copy

매개 변수

CURSOR OBJECT

열려 있는 것으로 처리할 커서입니다.

BINDINGS ARRAY

커서와 관련된 바인딩입니다.

반환

커서의 현재 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR, NULL)
        );
        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "ROWCOUNT": 0
}
Copy

CLOSE_BULK_CURSOR_UDF

정의

이 사용자 정의 함수(UDF)는 커서의 결과 세트를 저장하는 임시 테이블을 삭제하고 커서 속성을 초기 상태로 재설정합니다.

CLOSE_BULK_CURSOR_UDF(CURSOR OBJECT)
Copy

매개 변수

CURSOR OBJECT

체크 표시되고 닫힌 커서입니다.

반환

커서 속성이 재설정된 오브젝트를 반환합니다.

마이그레이션 예시

입력:

-- [procedure initial logic]
CLOSE C1;
-- [procedure ending logic]
Copy

출력:

C1 := (
            CALL CLOSE_BULK_CURSOR_UDF(:C1)
        );
Copy

사용법 예

입력:

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL CLOSE_BULK_CURSOR_UDF(:MY_CURSOR)
        );

        RETURN MY_CURSOR;
    END;
$$;
Copy

출력:

{
  "FOUND": null,
  "ISOPEN": false,
  "NAME": "MY_CURSOR",
  "NOTFOUND": null,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "ROWCOUNT": -1
}
Copy

DATEADD_UDF (FLOAT, DATE)

정의

이 사용자 정의 함수(UDF)는 float 또는 타임스탬프date 같은 유형 사이에 추가가 있는 경우에 사용됩니다.

PUBLIC.DATEADD_UDF(FIRST_PARAM FLOAT, SECOND_PARAM DATE)
Copy

매개 변수

FIRST_PARAM FLOAT

두 번째 날짜 매개 변수와 함께 추가할 실수입니다.

SECOND_PARAM DATE

첫 번째 매개 변수의 숫자와 함께 추가할 날짜입니다.

반환

부동 소수점과 지정된 날짜 사이의 덧셈을 반환합니다.

사용법 예

입력:

SELECT DATEADD_UDF(6, '2022-02-14');
Copy

출력:

2022-02-20
Copy

BFILENAME_UDF

정의

이 함수는 디렉터리 이름과 파일 이름 매개 변수를 문자열 로 받습니다. 그런 다음 '\' 를 사용하여 연결문을 반환합니다.

경고

'\' 문자를 운영 체제 파일 연결 문자와 일치하도록 변경해야 합니다.

PUBLIC.BFILENAME_UDF (DIRECTORYNAME STRING, FILENAME STRING);
Copy

매개 변수

DIRECTORYNAME STRING

문자열 로 처리할 디렉터리 이름입니다.

FILENAME STRING

연결할 파일 이름입니다.

반환

'\' 로 연결된 디렉터리 이름과 파일 이름을 포함하는 문자열 을 반환합니다.

마이그레이션 예시

입력:

SELECT BFILENAME ('directory', 'filename.jpg') FROM DUAL;
Copy

출력:

SELECT
PUBLIC.BFILENAME_UDF('directory', 'filename.jpg') FROM DUAL;
Copy

사용법 예

입력:

SELECT PUBLIC.BFILENAME_UDF('directory', 'filename.jpg');
Copy

출력:

directory\filename.jpg
Copy

REGEXP_LIKE_UDF (STRING, STRING)

정의

이 사용자 정의 함수(UDF)는 Oracle REGEXP_LIKE 기능을 지원하는 데 사용됩니다.

REGEXP_LIKE_UDF(COL STRING, PATTERN STRING)
Copy

매개 변수

COL STRING

패턴으로 평가할 문자열입니다.

PATTERN STRING

확인할 패턴입니다.

반환

부울 식을 반환합니다. 패턴이 문자열과 일치하면 true이고, 그렇지 않으면 false입니다.

사용법 예

입력:

SELECT REGEXP_LIKE_UDF('San Francisco', 'San* [fF].*');
Copy

출력:

TRUE
Copy

UTL_FILE.FOPEN_UDF (VARCHAR, VARCHAR, VARCHAR)

정의

이 사용자 정의 함수(UDF)는 Oracle UTL_FILE_FOPEN 프로시저의 기능을 복제하는 데 사용됩니다.

UTL_FILE.FOPEN_UDF(PACKAGE_VARIABLE VARCHAR, FILENAME VARCHAR, OPEN_MODE VARCHAR)
Copy

매개 변수

PACKAGE_VARIABLE VARCHAR

파일 열기와 관련된 변수입니다.

FILENAME VARCHAR

열려는 파일입니다.

OPEN_MODE VARCHAR

파일을 사용할 수 있는 모드를 나타냅니다.

반환

결과가 포함된 varchar을 반환합니다.

사용법 예

경고

UTL_FILE.FOPEN_UDF 에서 .csv 파일을 열 수 있습니다. 파일에 액세스하려면 해당 파일에 대해 스테이지 를 생성하고 Snowflake CLI 를 사용하여 파일을 업로드해야 합니다.

입력:

CREATE OR REPLACE PROCEDURE PROC()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
    file_data  VARIANT;
   BEGIN

    CALL UTL_FILE.FOPEN_UDF(NULL, 'test2.csv','a');

    SELECT
      *
    INTO
      file_data
    FROM
      TABLE(RESULT_SCAN(LAST_QUERY_ID()));

    CALL UTL_FILE.PUT_LINE_UDF(:file_data,'New line');


    CALL UTL_FILE.FCLOSE_UDF(:file_data);


   END
$$;

CALL PROC();
Copy

출력:

null
Copy

FETCH_BULK_COLLECTION_RECORDS_UDF (OBJECT)

정의

이 사용자 정의 함수(UDF)는 Oracle에서 FETCH 의 기능을 복제하는 데 사용됩니다. 커서만 수신하는 변형입니다.

FETCH_BULK_COLLECTION_RECORDS_UDF(CURSOR OBJECT)
Copy

매개 변수

CURSOR OBJECT

처리되어 fetch bulk 에서 데이터로 채워지는 커서입니다.

반환

fetch bulk 의 레코드가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTION_RECORDS_UDF(:MY_CURSOR)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [
    {
      "TEST": "TEST_A"
    }
  ],
  "ROWCOUNT": 1
}
Copy

FETCH_BULK_RECORD_COLLECTIONS_UDF (OBJECT, FLOAT, ARRAY)

정의

이 사용자 정의 함수(UDF)는 추가되는 정보 또는 커서의 동작을 결정하는 다양한 입력 변수가 있는 fetch bulk records 의 기능을 다루는 데 사용됩니다.

FETCH_BULK_RECORD_COLLECTIONS_UDF(CURSOR OBJECT, LIMIT FLOAT, COLUMN_NAMES ARRAY)
Copy

매개 변수

CURSOR OBJECT

처리 중인 커서입니다.

LIMIT FLOAT

행 수 제한입니다.

COLUMN_NAMES ARRAY

커서에 연결된 열 이름입니다.

반환

처리된 정보가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE BULKCOLLECTTABLE(test VARCHAR(100));
INSERT INTO BULKCOLLECTTABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      BULKCOLLECTTABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_RECORD_COLLECTIONS_UDF(:MY_CURSOR, 1.0, NULL)
        );

        RETURN MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": true,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": false,
  "QUERY": "   SELECT * FROM\n      BULKCOLLECTTABLE",
  "RESULT": {
    "TEST": [
      "TEST_A"
    ]
  },
  "ROWCOUNT": 1
}
Copy

FETCH_BULK_COLLECTION_RECORDS_UDF (OBJECT, INTEGER)

정의

이 사용자 정의 함수(UDF)는 Oracle에서 FETCH 의 기능을 복제하는 데 사용됩니다. 커서와 제한을 받는 변형입니다.

FETCH_BULK_COLLECTION_RECORDS_UDF(CURSOR OBJECT, LIMIT INTEGER)
Copy

매개 변수

CURSOR OBJECT

처리되어 fetch bulk 에서 데이터로 채워지는 커서입니다.

LIMIT FLOAT

호출할 레코드의 제한입니다.

반환

fetch bulk 의 레코드가 포함된 오브젝트를 반환합니다.

사용법 예

입력:

CREATE OR REPLACE TABLE MY_TABLE (test VARCHAR(100));
INSERT INTO MY_TABLE VALUES ('TEST_A');

CREATE OR REPLACE PROCEDURE MY_PROCEDURE ()
RETURNS OBJECT
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
    DECLARE
        MY_CURSOR OBJECT := INIT_CURSOR_UDF('MY_CURSOR', '   SELECT * FROM
      MY_TABLE');

    BEGIN
        MY_CURSOR := (
            CALL OPEN_BULK_CURSOR_UDF(:MY_CURSOR)
        );
        MY_CURSOR := (
            CALL FETCH_BULK_COLLECTION_RECORDS_UDF(:MY_CURSOR, 0)
        );

        Return MY_CURSOR;
    END;
$$;

CALL MY_PROCEDURE();
Copy

출력:

{
  "FOUND": false,
  "ISOPEN": true,
  "NAME": "MY_CURSOR",
  "NOTFOUND": true,
  "QUERY": "   SELECT * FROM\n      MY_TABLE",
  "RESULT": [],
  "ROWCOUNT": 0
}
Copy