SQL 데이터 타입: 최대 길이, 출력 및 오류 메시지 변경(보류 중)

주의

이 동작 변경 사항은 2024_08 번들에 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

이 동작 변경으로 컴파일된 SQL 식과 일부 오류 메시지는 다음과 같이 동작합니다.

변경 전:
  • 컴파일된 SQL 식과 오류 메시지에서 Snowflake는 데이터 타입의 길이를 명시적으로 지정했습니다(예: VARCHAR(16777216)).

  • 16MB를 초과하는 오브젝트를 로드할 때 대규모 문자열 또는 파일 구문 분석 또는 처리와 관련된 오류(예: 100069 (22P02): Error parsing JSON: document is too large, max size 16777216 bytes)가 반환됩니다.

변경 후:
  • 컴파일된 SQL 식과 오류 메시지에서 Snowflake는 데이터 타입의 길이(예: VARCHAR)를 생략합니다.

  • 16MB를 초과하는 오브젝트를 로드하면 대규모 오브젝트 저장과 관련된 오류(예: 100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <actual_size>)가 반환됩니다.

과거에는 스테이지에서 16MB(BINARY, GEOMETRY, GEOGRAPHY의 경우 8MB)를 초과하는 오브젝트를 쿼리하려고 할 때 오류가 발생했습니다. 이제 최대 128MB 크기의 오브젝트를 읽고 처리할 수 있습니다. 여전히 크기가 16MB를 초과하는 오브젝트를 열에 로드하거나 결과 세트로 출력할 수는 없지만, 최대 128MB 크기(BINARY, GEOMETRY, GEOGRAPHY의 경우 64MB)의 파일을 스테이지에 저장하고 오브젝트의 크기를 줄여 열에 저장하기 전에 쿼리할 수 있습니다.

자세한 내용은 로드하기 전에 16MB를 초과하는 큰 오브젝트의 크기 줄이기 섹션을 참조하십시오.

새로운 크기 제한은 SQL 쿼리 출력이나 메타데이터에 명시적으로 노출되지 않습니다. 하지만 더 큰 크기의 오브젝트를 생성하거나 읽지만 저장하지 않으면 새로운 길이 증가를 암시적으로 확인할 수 있습니다. 이 기능을 활성화하면 다음과 같은 동작이 변경됩니다.

  • VARCHAR 및 BINARY 유형은 열 식, UDFs 및 저장 프로시저에 대한 GET_DDL, SHOW, DESCRIBE 명령의 출력에 길이 없이 표시됩니다.

    예를 들어, VARCHAR(16777216) 대신 VARCHAR 이 표시됩니다. 이 변경 사항은 DDL 문에서 길이를 명시적으로 지정하지 않은 새로 생성된 오브젝트에만 적용됩니다. 해당 변경 사항은 기존 오브젝트에는 적용되지 않습니다.

  • 이전에 maximum size exceeded (또는 이와 유사한) 오류로 실패했던 일부 문이 이제 성공합니다.

    이제 큰 값을 로드하거나 생성하기만 하고 저장하거나 반환하지 않는 문은 성공합니다.

  • 그러나 이전에는 maximum size exceeded (또는 유사한 오류) 오류로 실패했던 일부 문이 다른 오류 코드 또는 메시지와 함께 계속 실패합니다.

    새로운 오류 코드와 메시지는 여전히 16MB 한도 초과와 관련이 있지만, 실행 계획의 다른 부분에서 오류가 발생할 수 있습니다. 예를 들어, cannot load valuecannot store value 또는 cannot output value 로 변경될 수 있습니다.

첫 번째 변경 사항은 모든 고객에게 영향을 미칩니다. 두 번째와 세 번째 변경 사항은 16MB를 초과하는 오브젝트를 로드하거나 생성하려는 고객에게 영향을 미칩니다.

중요

16MB를 초과하는 오브젝트와 관련된 오류 메시지를 사용하는 논리를 생성하지 않는 것이 좋습니다. 대신, BIT_LENGTH 함수를 사용하여 값의 크기를 확인하는 논리를 작성할 수 있습니다.

메타데이터의 변경 사항

다음 유형의 작업에 영향을 미치는 동작 변경 사항이 있습니다.

이러한 유형의 작업은 결과 세트의 메타데이터가 변경됩니다.

참고

이 목록에는 모든 내용이 포함되어 있지 않습니다.

UDFs에 대한 메타데이터 반환하기

VARCHAR 또는 BINARY 값을 입력 또는 출력으로 사용하는 새로운 사용자 정의 함수(UDFs)의 경우 UDFs와 관련된 DDL 문의 메타데이터가 변경되면 GET_DDL 함수 호출, DESCRIBE FUNCTION 문 실행 또는 이벤트 테이블 을 쿼리할 때 반환되는 출력에 영향을 미칩니다. 다음 예제에서는 UDF를 생성합니다.

CREATE OR REPLACE FUNCTION udf_varchar(g1 VARCHAR)
  RETURNS VARCHAR
  AS $$
    'Hello' || g1
  $$;
Copy

GET_DDL

GET_DDL 함수 호출에서 반환되는 메타데이터는 다음과 같이 변경됩니다

SELECT GET_DDL('function', 'udf_varchar(VARCHAR)');
Copy
변경 전 메타데이터:
CREATE OR REPLACE FUNCTION "UDF_VARCHAR"("G1" VARCHAR(16777216))
RETURNS VARCHAR(16777216)
LANGUAGE SQL
AS '
  ''Hello'' || g1
';
변경 후 메타데이터:
CREATE OR REPLACE FUNCTION "UDF_VARCHAR"("G1" VARCHAR)
RETURNS VARCHAR
LANGUAGE SQL
AS '
  ''Hello'' || g1
';

DESCRIBE FUNCTION

DESCRIBE FUNCTION 문에 대해 반환되는 메타데이터는 다음과 같은 방식으로 변경됩니다.

DESCRIBE FUNCTION udf_varchar(VARCHAR);
Copy
변경 전 메타데이터:
+-----------+-------------------+
| property  | value             |
|-----------+-------------------|
| signature | (G1 VARCHAR)      |
| returns   | VARCHAR(16777216) |
| language  | SQL               |
| body      |                   |
|           |   'Hello' || g1   |
|           |                   |
+-----------+-------------------+
변경 후 메타데이터:
+-----------+-------------------+
| property  | value             |
|-----------+-------------------|
| signature | (G1 VARCHAR)      |
| returns   | VARCHAR           |
| language  | SQL               |
| body      |                   |
|           |   'Hello' || g1   |
|           |                   |
+-----------+-------------------+

이벤트 테이블

VARCHAR 또는 BINARY 값을 출력으로 반환하는 새로운 사용자 정의 함수의 경우 이벤트 테이블RESOURCE_ATTRIBUTES 열에 있는 snow.executable.name 특성이 다음과 같이 변경됩니다.

변경 전 메타데이터:
{
  "db.user": "MYUSERNAME",
  "snow.database.id": 13,
  "snow.database.name": "MY_DB",
  "snow.executable.id": 197,
  "snow.executable.name": "UDF_VARCHAR(X VARCHAR):VARCHAR(16777216)",
  "snow.executable.type": "FUNCTION",
  "snow.owner.id": 2,
  "snow.owner.name": "MY_ROLE",
  "snow.query.id": "01ab0f07-0000-15c8-0000-0129000592c2",
  "snow.schema.id": 16,
  "snow.schema.name": "PUBLIC",
  "snow.session.id": 1275605667850,
  "snow.session.role.primary.id": 2,
  "snow.session.role.primary.name": "MY_ROLE",
  "snow.user.id": 25,
  "snow.warehouse.id": 5,
  "snow.warehouse.name": "MYWH",
  "telemetry.sdk.language": "python"
}
Copy
변경 후 메타데이터:
{
  "db.user": "MYUSERNAME",
  "snow.database.id": 13,
  "snow.database.name": "MY_DB",
  "snow.executable.id": 197,
  "snow.executable.name": "UDF_VARCHAR(X VARCHAR):VARCHAR",
  "snow.executable.type": "FUNCTION",
  "snow.owner.id": 2,
  "snow.owner.name": "MY_ROLE",
  "snow.query.id": "01ab0f07-0000-15c8-0000-0129000592c2",
  "snow.schema.id": 16,
  "snow.schema.name": "PUBLIC",
  "snow.session.id": 1275605667850,
  "snow.session.role.primary.id": 2,
  "snow.session.role.primary.name": "MY_ROLE",
  "snow.user.id": 25,
  "snow.warehouse.id": 5,
  "snow.warehouse.name": "MYWH",
  "telemetry.sdk.language": "python"
}
Copy

열 식이 있는 테이블에 대한 메타데이터 반환하기

열 식에 VARCHAR 또는 BINARY를 사용하는 새 테이블의 경우 이러한 열과 관련된 DDL 문의 메타데이터가 변경되면 GET_DDL 함수를 호출할 때 반환되는 출력에 영향을 줍니다.

다음 예제에서는 열 식을 사용하여 테이블을 생성합니다.

CREATE OR REPLACE TABLE table_with_default(x INT, v TEXT DEFAULT x::VARCHAR);
Copy

GET_DDL 함수 호출에서 반환되는 메타데이터는 다음과 같이 변경됩니다

SELECT GET_DDL('table', 'table_with_default');
Copy
변경 전 메타데이터:
create or replace TABLE TABLE_WITH_DEFAULT ( |
      X NUMBER(38,0),
      V VARCHAR(16777216) DEFAULT CAST(TABLE_WITH_DEFAULT.X AS VARCHAR(16777216))
);
변경 후 메타데이터:
create or replace TABLE TABLE_WITH_DEFAULT ( |
      X NUMBER(38,0),
      V VARCHAR(16777216) DEFAULT CAST(TABLE_WITH_DEFAULT.X AS VARCHAR)
);

외부 테이블

다음 예제에서는 외부 테이블을 생성합니다.

CREATE OR REPLACE EXTERNAL TABLE ext_table(
    data_str VARCHAR AS (value:c1::TEXT))
  LOCATION = @csv_stage
  AUTO_REFRESH = false
  FILE_FORMAT =(type = csv);
Copy

GET_DDL 함수 호출에서 반환되는 메타데이터는 다음과 같이 변경됩니다

SELECT GET_DDL('table', 'ext_table');
Copy
변경 전 메타데이터:
create or replace external table EXT_TABLE(
      DATA_STR VARCHAR(16777216) AS (CAST(GET(VALUE, 'c1') AS VARCHAR(16777216))))
location=@CSV_STAGE/
auto_refresh=false
file_format=(TYPE=csv)
;
변경 후 메타데이터:
create or replace external table EXT_TABLE(
      DATA_STR VARCHAR(16777216) AS (CAST(GET(VALUE, 'c1') AS VARCHAR)))
location=@CSV_STAGE/
auto_refresh=false
file_format=(TYPE=csv)
;

SYSTEM$TYPEOF에 대한 메타데이터 반환하기

SYSTEM$TYPEOF 함수를 호출할 때 반환되는 메타데이터는 다음과 같은 방식으로 변경됩니다.

SELECT SYSTEM$TYPEOF(REPEAT('a',10));
Copy
변경 전 메타데이터:
VARCHAR(16777216)[LOB]
변경 후 메타데이터:
VARCHAR[LOB]

SHOW COLUMNS에 대한 메타데이터 반환하기

이 변경 사항은 기존 테이블과 새 테이블 모두에 영향을 미칩니다. SHOW COLUMNS 문에 대해 반환되는 메타데이터는 다음과 같은 방식으로 변경됩니다.

CREATE OR REPLACE TABLE t AS
  SELECT TO_VARIANT('abc') AS col;

SHOW COLUMNS IN t;
Copy
변경 전 메타데이터:
{
  "type":"VARIANT",
  "length":16777216,
  "byteLength":16777216,
  "nullable":true,
  "fixed":false
}
변경 후 메타데이터:
{
  "type":"VARIANT",
  "nullable":true,
  "fixed":false
}

16MB를 초과하는 오브젝트 로딩 및 처리의 변경 사항

다음 유형의 연산을 사용하여 16MB를 초과하는 오브젝트를 로드하거나 처리하려고 하는 경우에 영향을 미치는 동작이 변경되었습니다.

참고

이 목록에는 모든 내용이 포함되어 있지 않습니다.

스테이지에서 파일을 스캔하여 데이터 로드하기

스테이지에서 파일을 스캔하여 16MB를 초과하는 데이터를 로드하려고 하면 오류 메시지가 반환됩니다.

CREATE TABLE AS SELECT를 사용하여 대규모 오브젝트 전체를 로드하기

CREATE TABLE AS SELECT 문을 사용하여 VARCHAR, VARIANT, OBJECT 및 ARRAY의 경우 16MB를 초과하는(BINARY, GEOMETRY 또는 GEOGRAPHY의 경우 8MB 초과) 오브젝트를 로드하려고 하면 다른 오류 메시지가 표시됩니다. 오류는 소스의 유형에 따라 달라집니다. 이 시나리오에 INSERT INTO SELECT 문을 사용할 때도 동일한 메시지 변경 사항이 적용됩니다.

JSON 소스에서 대규모 오브젝트 전체 로드하기

다음 예제에서는 CREATE TABLE AS SELECT를 사용하여 JSON 소스에서 16MB를 초과하는 전체 오브젝트를 로드합니다.

CREATE OR REPLACE FILE FORMAT json_format TYPE = JSON;

CREATE OR REPLACE TABLE table_varchar (lob_column VARCHAR) AS
  SELECT $1::VARCHAR
    FROM @lob_int_stage/driver_status.json.gz (FILE_FORMAT => 'json_format');
Copy
변경 전 오류 메시지:
100069 (22P02): Error parsing JSON: document is too large, max size 16777216 bytes
변경 후 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <actual_size>
XML 소스에서 대규모 오브젝트 전체 로드하기

다음 예제에서는 CREATE TABLE AS SELECT를 사용하여 XML 소스에서 16MB를 초과하는 전체 오브젝트를 로드합니다.

CREATE or REPLACE FILE FORMAT xml_format TYPE = XML;

CREATE OR REPLACE TABLE table_varchar (lob_column VARCHAR) AS
  SELECT $1 AS XML
    FROM @lob_int_stage/large_xml.xte (FILE_FORMAT => 'xml_format');
Copy
변경 전 오류 메시지:
100100 (22P02): Error parsing XML: document is too large, max size 16777216 bytes
변경 후 오류 메시지:
100078 (22000): String '<string_preview>' is too long and would be truncated

COPY INTO <table_name> … FROM SELECT를 사용하여 대규모 오브젝트 전체를 로드하기

COPY INTO <table_name> … FROM SELECT 문을 사용하여 VARCHAR, VARIANT, OBJECT 및 ARRAY의 경우 16MB를 초과하는(BINARY, GEOMETRY 또는 GEOGRAPHY의 경우 8MB 초과) 오브젝트를 로드하려고 하면 다른 오류 메시지가 표시됩니다. 오류는 소스의 유형에 따라 달라집니다.

중요

오류 로그에 기록된 오류 메시지를 사용하여 COPY INTO 명령을 ON_ERROR=CONTINUE 와 함께 사용하여 16MB를 초과하는 오브젝트가 포함된 데이터를 로드하려고 하면 오류 메시지의 변경으로 인해 해당 오류 메시지를 사용하는 논리에 문제가 발생할 수 있습니다.

JSON 소스에서 대규모 오브젝트 전체 로드하기

다음 예제에서는 COPY INTO <table_name> … FROM SELECT를 사용하여 JSON 소스에서 16MB를 초과하는 전체 오브젝트를 로드합니다.

CREATE OR REPLACE TABLE table_varchar (lob_column VARCHAR);

COPY INTO table_varchar FROM (
  SELECT $1::VARCHAR
    FROM @lob_int_stage/driver_status.json.gz (FILE_FORMAT => 'json_format'));
Copy
변경 전 오류 메시지:
100069 (22P02): Error parsing JSON: document is too large, max size 16777216 bytes
변경 후 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <actual_size>
JSON 소스에서 중첩된 대규모 오브젝트 로드하기

다음 예제에서는 중첩된 대규모 오브젝트에 액세스할 때 JSON 데이터를 로드합니다.

CREATE OR REPLACE TABLE table_varchar (lob_column VARCHAR);

COPY INTO table_varchar FROM (
  SELECT $1:"Driver_Status"
    FROM @lob_int_stage/driver_status.json.gz (FILE_FORMAT => 'json_format'));
Copy
변경 전 오류 메시지:
100069 (22P02): Max LOB size (16777216) exceeded, actual size of parsed column is <object_size>
변경 후 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <actual_size>
XML 소스에서 대규모 오브젝트 전체 로드하기

다음 예제에서는 COPY INTO <table_name> … FROM SELECT를 사용하여 XML 소스에서 16MB를 초과하는 전체 오브젝트를 로드합니다.

CREATE OR REPLACE TABLE table_varchar (lob_column VARCHAR);

COPY INTO table_varchar FROM (
  SELECT $1::VARCHAR AS lob_column
    FROM @lob_int_stage/large_xml.xte (FILE_FORMAT => 'xml_format'));
Copy
변경 전 오류 메시지:
100100 (22P02): Error parsing XML: document is too large, max size 16777216 bytes
변경 후 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <object_size>

COPY INTO <table_name> … FROM <stage_or_location> 를 사용하여 대규모 오브젝트 전체를 로드하기

COPY INTO <table_name> … FROM <stage_or_location> 문을 사용하여 VARCHAR, VARIANT, OBJECT 및 ARRAY의 경우 16MB를 초과하는(BINARY, GEOMETRY 또는 GEOGRAPHY의 경우 8MB 초과) 오브젝트를 로드하려고 하면 다른 오류 메시지가 표시됩니다. 오류는 소스의 유형에 따라 달라집니다.

대규모 오브젝트와 함께 COPY 명령을 사용하는 경우 ON_ERROR 매개 변수가 CONTINUE 로 설정되어 있어도 쿼리가 실패할 수 있습니다. 자세한 내용은 COPY 명령의 사용법 노트 를 참조하십시오.

중요

오류 로그에 기록된 오류 메시지를 사용하여 COPY INTO 명령을 ON_ERROR=CONTINUE 와 함께 사용하여 16MB를 초과하는 오브젝트가 포함된 데이터를 로드하려고 하면 메시지의 변경으로 인해 해당 오류 메시지를 사용하는 논리에 문제가 발생할 수 있습니다.

JSON 소스에서 대규모 오브젝트 전체 로드하기

다음 예제에서는 COPY INTO <table_name> … FROM <stage_or_location> 를 사용하여 JSON 소스에서 16MB를 초과하는 전체 오브젝트를 로드합니다.

CREATE OR REPLACE TABLE table_varchar (lob_column VARCHAR);

COPY INTO table_varchar (lob_column)
  FROM @lob_int_stage/driver_status.json.gz
  FILE_FORMAT = (FORMAT_NAME = json_format);
Copy
변경 전 오류 메시지:
100069 (22P02): Error parsing JSON: document is too large, max size 16777216 bytes
변경 후 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <actual_size>
XML 소스에서 대규모 오브젝트 전체 로드하기

다음 예제에서는 COPY INTO <table_name> … FROM <stage_or_location> 를 사용하여 XML 소스에서 16MB를 초과하는 전체 오브젝트를 로드합니다.

CREATE OR REPLACE TABLE table_varchar (lob_column VARCHAR);

COPY INTO table_varchar (lob_column)
  FROM @lob_int_stage/large_xml.xte
  FILE_FORMAT = (FORMAT_NAME = xml_format);
Copy
변경 전 오류 메시지:
100100 (22P02): Error parsing XML: document is too large, max size 16777216 bytes
변경 후 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <actual_size>

소스 파일에서 대규모 오브젝트 전체 쿼리하기

현재 16MB를 초과하는 오브젝트는 결과 세트에서 허용되지 않으므로, VARCHAR, VARIANT, OBJECT, 및 ARRAY의 경우 16MB(BINARY, GEOMETRY 또는 GEOGRAPHY의 경우 8MB)를 초과하는 소스 파일에서 오브젝트를 쿼리하려고 하면 다른 오류 메시지가 표시됩니다. 오류는 소스의 유형에 따라 달라집니다.

JSON 소스에서 대규모 오브젝트 전체 쿼리하기

다음 예제에서는 JSON 소스에서 16MB를 초과하는 전체 오브젝트를 쿼리합니다.

SELECT $1
  FROM @lob_int_stage/driver_status.json.gz (FILE_FORMAT => 'json_format');
Copy
변경 전 오류 메시지:
100069 (22P02): Error parsing JSON: document is too large, max size 16777216 bytes
변경 후 오류 메시지:
100082 (22000): The data length in result column $1 is not supported by this version of the client. Actual length <actual_length> exceeds supported length of 16777216.

XML 소스에서 대규모 오브젝트 전체 쿼리하기

다음 예제에서는 XML 소스에서 16MB를 초과하는 전체 오브젝트를 쿼리합니다.

SELECT $1 as lob_column
  FROM @lob_int_stage/large_xml.xte (FILE_FORMAT => 'xml_format');
Copy
변경 전 오류 메시지:
100100 (22P02): Error parsing XML: document is too large, max size 16777216 bytes
변경 후 오류 메시지:
100082 (22000): The data length in result column $1 is not supported by this version of the client. Actual length <actual_length> exceeds supported length of 16777216.

CSV 소스에서 대규모 오브젝트 전체 쿼리하기

다음 예제에서는 CSV 소스에서 16MB를 초과하는 전체 오브젝트를 쿼리합니다.

SELECT $1
  FROM @lob_int_stage/driver_status.csv.gz (FILE_FORMAT => 'csv_format');
Copy
변경 전 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <object_size>
변경 후 오류 메시지:
100082 (22000): The data length in result column $1 is not supported by this version of the client. Actual length <actual_length> exceeds supported length of 16777216.

Parquet 소스에서 대규모 오브젝트 전체 쿼리하기

다음 예제에서는 Parquet 소스에서 16MB를 초과하는 전체 오브젝트를 쿼리합니다.

SELECT $1
  FROM @lob_int_stage/driver_status.parquet (FILE_FORMAT => 'parquet_format');
Copy
변경 전 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <object_size>
변경 후 오류 메시지:
100082 (22000): The data length in result column $1 is not supported by this version of the client. Actual length <actual_length> exceeds supported length of 16777216.

쿼리 결과에 대규모 오브젝트 포함시키기

이제 메모리에 16MB를 초과하는 오브젝트를 생성할 수 있습니다. 하지만 이러한 오브젝트를 쿼리 결과에 포함시키거나 테이블에 저장할 수는 없습니다. 이러한 작업을 시도하면 오류 메시지가 반환됩니다.

쿼리 결과에 16MB를 초과하는 오브젝트를 포함하려고 시도하는 경우

다음 쿼리는 두 개의 대규모 문자열을 연결하려고 시도합니다.

SELECT large_str || large_str FROM lob_strings;
Copy
변경 전 오류 메시지:
100078 (22000): String '<preview_of_string>' is too long and would be truncated in 'CONCAT'
변경 후 오류 메시지:
100067 (54000): The data length in result column <column_name> is not supported by this version of the client. Actual length <actual_size> exceeds supported length of 16777216.

테이블에 16MB를 초과하는 오브젝트를 저장하려고 시도하는 경우

다음 CREATE TABLE AS SELECT 문은 두 개의 대규모 문자열을 연결하려고 시도합니다.

CREATE OR REPLACE TABLE table_varchar
  AS SELECT large_str || large_str as LOB_column
  FROM lob_strings;
Copy
변경 전 오류 메시지:
100078 (22000): String '<preview_of_string>' is too long and would be truncated in 'CONCAT'
변경 후 오류 메시지:
100067 (54000): The data length in result column <column_name> is not supported by this version of the client. Actual length <actual_size> exceeds supported length of 16777216.

집계를 사용하여 대규모 오브젝트 만들기

16MB를 초과하는 오브젝트를 생성하고 이에 대한 출력을 반환하려고 하면 오류 메시지가 반환됩니다.

다음 예제에서는 대규모 오브젝트 열에 대한 쿼리에서 ARRAY_AGG 함수를 사용합니다.

SELECT ARRAY_AGG(status) FROM lob_object;
Copy
변경 전 오류 메시지:
100082 (22000): Max LOB size (16777216) exceeded, actual size of parsed column is <actual_size>
변경 후 오류 메시지:
100067 (54000): The data length in result column <column_name> is not supported by this version of the client. Actual length <actual_size> exceeds supported length of 16777216.

참조: 1779