blob1

발행: (2025년 12월 13일 오전 12:52 GMT+9)
1 min read
원문: Dev.to

Source: Dev.to

SQL 쿼리

WITH VersionsToAscii AS (
  SELECT
    t.INTERNIDENTITY,
    t.INTERNINSTID,
    t.INTERNVERSION,
    t.INTERNTIMESTAMP,
    t.IOIID,
    RTRIM(
      XMLAGG(
        XMLELEMENT(E, c.chunk_content) ORDER BY c.chunk_num
      ).EXTRACT('//text()').GETCLOBVAL()
    ) AS full_text
  FROM CacheIOIStates t
  -- For each row t, generate chunk rows 1..N where N = CEIL(DBMS_LOB.GETLENGTH(t.VERSIONS)/4000)
  CROSS JOIN LATERAL (
    SELECT level AS chunk_num,
           blob_to_text_range(t.VERSIONS,
                              (level * 4000 - 3999),
                              (level * 4000)) AS chunk_content
    FROM dual
    CONNECT BY level <= CEIL(NVL(DBMS_LOB.GETLENGTH(t.VERSIONS),0) / 4000)
  ) c
  WHERE
    t.INTERNTIMESTAMP = to_oratime_from_syb($TARGET_INTERNTIMESTAMP)
    AND t.IOIID = $OKEY
    AND c.chunk_content IS NOT NULL
  GROUP BY
    t.INTERNIDENTITY,
    t.INTERNINSTID,
    t.INTERNVERSION,
    t.INTERNTIMESTAMP,
    t.IOIID
)
SELECT
    m.INTERNIDENTITY || '~' ||
    m.INTERNINSTID || '~' ||
    m.INTERNVERSION || '~' ||
    format_ts(m.INTERNTIMESTAMP) || '~' ||
    m.INTERNRECTYPE || '~' ||
    m.IOIID || '~' ||
    m.AUTOREFRESH || '~' ||
    m.SYMBOL || '~' ||
    v.full_text || '~' ||
    m.ORDERID || '~' ||
    m.SLICE || '~' ||
    m.EXECUTEDQTY
FROM CACHEIOISTATES m
JOIN VersionsToAscii v
  ON m.IOIID = v.IOIID
 AND m.INTERNTIMESTAMP = v.INTERNTIMESTAMP
-- If you still want to *require* the first-1000-char hash to match, add it:
AND STANDARD_HASH(DBMS_LOB.SUBSTR(v.full_text, 1000, 1)) =
    STANDARD_HASH(UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(m.VERSIONS, 1000, 1)))
WHERE
  m.INTERNTIMESTAMP = to_oratime_from_syb($TARGET_INTERNTIMESTAMP)
  AND m.IOIID = $OKEY;
Back to Blog

관련 글

더 보기 »

SQL10

SQL 설정 SET VERIFY OFF FEEDBACK OFF HEADING OFF ECHO ON SET SERVEROUTPUT ON -- 인수를 캡처하거나 기본값으로 빈 문자열 사용 프롬프트 없음 COLUMN p_flag_col NEW_VA...

Oracle MERGE INTO

Forem 로고 https://media2.dev.to/dynamic/image/width=65,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%...

create10

sql SELECT utc.table_name, xt.rows_last_45_days FROM SELECT table_name FROM user_tab_columns WHERE UPPERcolumn_name = 'INTERNTIMESTAMP' AND data_type LIKE 'TIME...'

2단계

번역할 텍스트를 제공해 주시겠어요?