InfoGrab DocsInfoGrab Docs

Oracle Database 노드 문서

요약

Oracle Database 노드를 사용하여 Oracle Database에서 작업을 자동화하고 Oracle Database를 다른 애플리케이션과 통합하세요. 이 페이지에서는 Oracle Database 노드가 지원하는 작업 목록과 추가 리소스로 연결되는 링크를 확인할 수 있습니다.

Oracle Database 노드를 사용하여 Oracle Database에서 작업을 자동화하고 Oracle Database를 다른 애플리케이션과 통합하세요. n8n은 SQL 문 실행, Oracle Database에서 데이터 가져오기, 삽입, 업데이트 또는 삭제를 포함한 다양한 Oracle Database 기능을 기본으로 지원합니다. 이 노드는 내부적으로 node-oracledb driver를 사용합니다.

이 페이지에서는 Oracle Database 노드가 지원하는 작업 목록과 추가 리소스로 연결되는 링크를 확인할 수 있습니다.

Note

인증 설정에 대한 안내는 Oracle Database 자격 증명을 참고하세요.

Oracle Database 19c 이상이 필요합니다. Transparent Application Continuity(TAC) 및 Sharding과 같은 고급 Oracle Database 기능을 사용하려면 Oracle Client Libraries 19c 이상도 필요합니다.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

작업#

  • Delete: 테이블 전체 또는 테이블 내 행을 삭제합니다
  • Execute SQL: SQL 문을 실행합니다
  • Insert: 테이블에 행을 삽입합니다
  • Insert or Update: 테이블에 행을 삽입하거나 업데이트합니다
  • Select: 테이블에서 행을 선택합니다
  • Update: 테이블의 행을 업데이트합니다

삭제#

이 작업을 사용하여 테이블 전체 또는 테이블 내 행을 삭제합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Delete를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Command: 수행할 삭제 작업입니다:
    • Truncate: 테이블의 데이터를 제거하지만 테이블의 구조는 유지합니다.
    • Delete: "Select Rows" 조건에 일치하는 행을 삭제합니다. 아무것도 선택하지 않으면 Oracle Database는 모든 행을 삭제합니다.
      • Select Rows: 행을 일치시킬 Column, Operator, Value를 정의합니다. 값은 표현식 또는 문자열을 사용하여 JSON으로 전달할 수 있습니다.
      • Combine Conditions: "Select Rows"의 조건을 결합하는 방법입니다. AND는 모든 조건이 참이어야 하고, OR는 조건 중 하나 이상이 참이어야 합니다.
    • Drop: 테이블의 데이터와 구조를 영구적으로 삭제합니다.

Delete 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Statement Batching: 데이터베이스로 문을 전송하는 방식입니다:
    • Single Statement: 들어오는 모든 항목에 대해 단일 문을 사용합니다.
    • Independently: 실행의 들어오는 항목마다 문을 하나씩 실행합니다.
    • Transaction: 모든 문을 하나의 트랜잭션에서 실행합니다. 실패가 발생하면 Oracle Database는 모든 변경 사항을 롤백합니다.

Execute SQL#

이 작업을 사용하여 SQL 문을 실행합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Execute SQL Execute SQL.
  • Statement: 실행할 SQL 문입니다. n8n 표현식(expressions):1, :2와 같은 위치 매개변수 또는 :name, :id와 같은 이름 지정 매개변수를 Use bind parameters와 함께 사용할 수 있습니다. 예를 들어 demo라는 PL/SQL 프로시저를 실행하려면 다음과 같이 사용할 수 있습니다:
BEGIN
  demo;
END;

Execute Statement 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Bind Variable Placeholder Values: 문에서 사용되는 바인드 매개변수의 값을 입력합니다 Use bind parameters.
  • Output Numbers As String: 숫자를 문자열로 가져올지 여부를 나타냅니다.
  • Fetch Array Size: 이 속성은 Oracle Database에서 쿼리 행을 가져올 때 사용되는 내부 버퍼의 크기를 설정하는 숫자입니다. 이 값을 변경하면 쿼리 성능에 영향을 줄 수 있지만 애플리케이션에 반환되는 행의 수에는 영향을 주지 않습니다.
  • Number of Rows to Prefetch: 이 속성은 쿼리의 내부 초기 문 실행 단계에서 기본 Oracle 드라이버가 추가로 가져올 행 수를 설정하는 쿼리 튜닝 옵션입니다.

Insert#

이 작업을 사용하여 테이블에 행을 삽입합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Insert를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방법입니다:
    • Map Each Column Manually: 각 열에 사용할 값을 선택합니다 Use n8n expressions for bind values.
    • Map Automatically: 들어오는 데이터를 Oracle Database의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 작동하려면 들어오는 데이터 필드 이름이 Oracle Database의 열 이름과 일치해야 합니다. 필요한 경우 이 노드 앞에서 edit fields (set) node를 사용하여 형식을 필요에 맞게 조정하는 것을 고려하세요.

Insert 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용하여 ID를 지정할 수 있습니다.
  • Statement Batching: 데이터베이스로 문을 전송하는 방식입니다:
    • Single Statement: 들어오는 모든 항목에 대해 단일 문을 사용합니다.
    • Independently: 실행의 들어오는 항목마다 문을 하나씩 실행합니다.
    • Transaction: 모든 문을 하나의 트랜잭션에서 실행합니다. 실패가 발생하면 Oracle Database는 모든 변경 사항을 롤백합니다.

Insert or Update#

이 작업을 사용하여 테이블에 행을 삽입하거나 업데이트합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Insert or Update를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방법입니다:
    • Map Each Column Manually: 각 열에 사용할 값을 선택합니다 Use n8n expressions for bind values.
    • Map Automatically: 들어오는 데이터를 Oracle Database의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 작동하려면 들어오는 데이터 필드 이름이 Oracle Database의 열 이름과 일치해야 합니다. 필요한 경우 이 노드 앞에서 edit fields (set) node를 사용하여 형식을 필요에 맞게 조정하는 것을 고려하세요.

Insert or Update 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용하여 ID를 지정할 수 있습니다.
  • Statement Batching: 데이터베이스로 문을 전송하는 방식입니다:
    • Single Statement: 들어오는 모든 항목에 대해 단일 문을 사용합니다.
    • Independently: 실행의 들어오는 항목마다 문을 하나씩 실행합니다.
    • Transaction: 모든 문을 하나의 트랜잭션에서 실행합니다. 실패가 발생하면 Oracle Database는 모든 변경 사항을 롤백합니다.

Select#

이 작업을 사용하여 테이블의 행을 선택합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Select를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Return All: 모든 결과를 반환할지, 아니면 지정한 한도까지만 반환할지 여부입니다.
  • Limit: Return All이 비활성화되어 있을 때 반환할 항목의 최대 개수입니다.
  • Select Rows: 행을 선택할 조건을 설정합니다. 행을 일치시킬 Column, Operator, Value(json으로)를 정의합니다. Value는 유형에 따라 다를 수 있습니다 — 예를 들어 Fixed 모드에서는:
    • 문자열: "hello", hellowithoutquotes, "hello with space"
    • 숫자: 12
    • JSON: { "key": "val" }

아무것도 선택하지 않으면 Oracle Database는 모든 행을 선택합니다.

  • Combine Conditions: Select Rows의 조건을 결합하는 방법입니다. AND는 모든 조건이 참이어야 하고, OR는 조건 중 하나 이상이 참이어야 합니다.
  • Sort: 선택된 행을 정렬하는 방법을 선택합니다. 목록 또는 ID로 Column을 선택하고 정렬 Direction을 선택합니다.

Select 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Output Numbers As String: 숫자를 문자열로 가져올지 여부를 나타냅니다.
  • Fetch Array Size: 이 속성은 Oracle Database에서 쿼리 행을 가져올 때 사용되는 내부 버퍼의 크기를 설정하는 숫자입니다. 이 값을 변경하면 쿼리 성능에 영향을 줄 수 있지만 애플리케이션에 반환되는 행의 수에는 영향을 주지 않습니다.
  • Number of Rows to Prefetch: 이 속성은 쿼리의 내부 초기 문 실행 단계에서 기본 Oracle 드라이버가 추가로 가져올 행 수를 설정하는 쿼리 튜닝 옵션입니다.

업데이트#

이 작업을 사용하여 테이블의 행을 업데이트합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Update를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방법입니다:
    • Map Each Column Manually: 각 열에 사용할 값을 선택합니다 Use n8n expressions for bind values.
    • Map Automatically: 들어오는 데이터를 Oracle Database의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 작동하려면 들어오는 데이터 필드 이름이 Oracle Database의 열 이름과 일치해야 합니다. 필요한 경우 이 노드 앞에서 edit fields (set) node를 사용하여 형식을 필요에 맞게 조정하는 것을 고려하세요.

Update 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용하여 ID를 지정할 수 있습니다.
  • Statement Batching: 데이터베이스로 문을 전송하는 방식입니다:
    • Single Statement: 들어오는 모든 항목에 대해 단일 문을 사용합니다.
    • Independently: 실행의 들어오는 항목마다 문을 하나씩 실행합니다.
    • Transaction: 모든 문을 하나의 트랜잭션에서 실행합니다. 실패가 발생하면 Oracle Database는 모든 변경 사항을 롤백합니다.

관련 자료#

서비스에 대한 자세한 내용은 SQL Language Reference를 참고하세요.

node-oracledb 드라이버에 대한 자세한 내용은 node-oracledb documentation을 참고하세요.

바인드 매개변수 사용#

Oracle 데이터베이스 인스턴스에서 실행할 문을 작성할 때 Options 섹션의 Bind Variable Placeholder Values 필드를 사용하여 문에 데이터를 로드할 수 있습니다. n8n은 문 매개변수의 데이터를 정제(sanitize)하여 SQL 인젝션을 방지합니다.

예를 들어 색상별로 특정 과일을 찾고 싶다고 가정해 보겠습니다. 다음과 같은 입력 데이터가 주어졌을 때:

[
    {
        "FRUIT_ID": 1,
        "FRUIT_NAME": "Apple",
        "COLOR": "Red" 
    },
    {
        "FRUIT_ID": 2,
        "FRUIT_NAME": "Banana",
        "COLOR": "Yellow"
    }
]

다음과 같은 문을 작성할 수 있습니다:

SELECT * FROM FRUITS WHERE COLOR = :col

그런 다음 Bind Variable Placeholder Values에서 사용할 필드 값을 제공합니다. 고정 값 또는 표현식을 제공할 수 있습니다. 이 예제에서는 노드가 각 입력 항목에서 순서대로 색상을 가져올 수 있도록 표현식을 사용합니다:

// fruits is an example table name
fruits, {{ $json.color }} 

바인드 값에 n8n Expression 사용#

Values to Send의 경우 n8n Expressions를 사용하여 입력을 제공할 수 있습니다. 아래는 서로 다른 데이터 유형에 대한 예시입니다 — 상수 값을 입력하거나 이전 항목의 필드($json)를 참조할 수 있습니다:

JSON#

  • 상수: {{ { k1: "v1", k2: "v2" } }}
  • 이전 항목에서: {{ $json.COL_JSON }}

VECTOR#

  • 상수: {{ [1, 2, 3, 4.5] }}
  • 이전 항목에서: {{ $json.COL_VECTOR }}

BLOB#

  • 상수: {{ [94, 87, 34] }} 또는 {{ ' BLOB data string' }}
  • 이전 항목에서: {{ $json.COL_BLOB }}

RAW#

  • 상수: {{ [94, 87, 34] }}
  • 이전 항목에서: {{ $json.COL_RAW }}

BOOLEAN#

  • 상수: {{ true }}
  • 이전 항목에서: {{ $json.COL_BOOLEAN }}

NUMBER#

  • 상수: 1234
  • 이전 항목에서: {{ $json.COL_NUMBER }}

VARCHAR#

  • 상수: ' Hello World '
  • 이전 항목에서: {{ $json.COL_CHAR }}

이 예시들은 JSON 키(예: COL_JSON, COL_VECTOR)가 해당 SQL 열 유형에 직접 매핑된다고 가정합니다.

Oracle Database 노드 문서

n8n v2.29
원문 보기
요약

Oracle Database 노드를 사용하여 Oracle Database에서 작업을 자동화하고 Oracle Database를 다른 애플리케이션과 통합하세요. 이 페이지에서는 Oracle Database 노드가 지원하는 작업 목록과 추가 리소스로 연결되는 링크를 확인할 수 있습니다.

Oracle Database 노드를 사용하여 Oracle Database에서 작업을 자동화하고 Oracle Database를 다른 애플리케이션과 통합하세요. n8n은 SQL 문 실행, Oracle Database에서 데이터 가져오기, 삽입, 업데이트 또는 삭제를 포함한 다양한 Oracle Database 기능을 기본으로 지원합니다. 이 노드는 내부적으로 node-oracledb driver를 사용합니다.

이 페이지에서는 Oracle Database 노드가 지원하는 작업 목록과 추가 리소스로 연결되는 링크를 확인할 수 있습니다.

Note

인증 설정에 대한 안내는 Oracle Database 자격 증명을 참고하세요.

Oracle Database 19c 이상이 필요합니다. Transparent Application Continuity(TAC) 및 Sharding과 같은 고급 Oracle Database 기능을 사용하려면 Oracle Client Libraries 19c 이상도 필요합니다.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

작업#

  • Delete: 테이블 전체 또는 테이블 내 행을 삭제합니다
  • Execute SQL: SQL 문을 실행합니다
  • Insert: 테이블에 행을 삽입합니다
  • Insert or Update: 테이블에 행을 삽입하거나 업데이트합니다
  • Select: 테이블에서 행을 선택합니다
  • Update: 테이블의 행을 업데이트합니다

삭제#

이 작업을 사용하여 테이블 전체 또는 테이블 내 행을 삭제합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Delete를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Command: 수행할 삭제 작업입니다:
    • Truncate: 테이블의 데이터를 제거하지만 테이블의 구조는 유지합니다.
    • Delete: "Select Rows" 조건에 일치하는 행을 삭제합니다. 아무것도 선택하지 않으면 Oracle Database는 모든 행을 삭제합니다.
      • Select Rows: 행을 일치시킬 Column, Operator, Value를 정의합니다. 값은 표현식 또는 문자열을 사용하여 JSON으로 전달할 수 있습니다.
      • Combine Conditions: "Select Rows"의 조건을 결합하는 방법입니다. AND는 모든 조건이 참이어야 하고, OR는 조건 중 하나 이상이 참이어야 합니다.
    • Drop: 테이블의 데이터와 구조를 영구적으로 삭제합니다.

Delete 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Statement Batching: 데이터베이스로 문을 전송하는 방식입니다:
    • Single Statement: 들어오는 모든 항목에 대해 단일 문을 사용합니다.
    • Independently: 실행의 들어오는 항목마다 문을 하나씩 실행합니다.
    • Transaction: 모든 문을 하나의 트랜잭션에서 실행합니다. 실패가 발생하면 Oracle Database는 모든 변경 사항을 롤백합니다.

Execute SQL#

이 작업을 사용하여 SQL 문을 실행합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Execute SQL Execute SQL.
  • Statement: 실행할 SQL 문입니다. n8n 표현식(expressions):1, :2와 같은 위치 매개변수 또는 :name, :id와 같은 이름 지정 매개변수를 Use bind parameters와 함께 사용할 수 있습니다. 예를 들어 demo라는 PL/SQL 프로시저를 실행하려면 다음과 같이 사용할 수 있습니다:
BEGIN
  demo;
END;

Execute Statement 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Bind Variable Placeholder Values: 문에서 사용되는 바인드 매개변수의 값을 입력합니다 Use bind parameters.
  • Output Numbers As String: 숫자를 문자열로 가져올지 여부를 나타냅니다.
  • Fetch Array Size: 이 속성은 Oracle Database에서 쿼리 행을 가져올 때 사용되는 내부 버퍼의 크기를 설정하는 숫자입니다. 이 값을 변경하면 쿼리 성능에 영향을 줄 수 있지만 애플리케이션에 반환되는 행의 수에는 영향을 주지 않습니다.
  • Number of Rows to Prefetch: 이 속성은 쿼리의 내부 초기 문 실행 단계에서 기본 Oracle 드라이버가 추가로 가져올 행 수를 설정하는 쿼리 튜닝 옵션입니다.

Insert#

이 작업을 사용하여 테이블에 행을 삽입합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Insert를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방법입니다:
    • Map Each Column Manually: 각 열에 사용할 값을 선택합니다 Use n8n expressions for bind values.
    • Map Automatically: 들어오는 데이터를 Oracle Database의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 작동하려면 들어오는 데이터 필드 이름이 Oracle Database의 열 이름과 일치해야 합니다. 필요한 경우 이 노드 앞에서 edit fields (set) node를 사용하여 형식을 필요에 맞게 조정하는 것을 고려하세요.

Insert 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용하여 ID를 지정할 수 있습니다.
  • Statement Batching: 데이터베이스로 문을 전송하는 방식입니다:
    • Single Statement: 들어오는 모든 항목에 대해 단일 문을 사용합니다.
    • Independently: 실행의 들어오는 항목마다 문을 하나씩 실행합니다.
    • Transaction: 모든 문을 하나의 트랜잭션에서 실행합니다. 실패가 발생하면 Oracle Database는 모든 변경 사항을 롤백합니다.

Insert or Update#

이 작업을 사용하여 테이블에 행을 삽입하거나 업데이트합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Insert or Update를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방법입니다:
    • Map Each Column Manually: 각 열에 사용할 값을 선택합니다 Use n8n expressions for bind values.
    • Map Automatically: 들어오는 데이터를 Oracle Database의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 작동하려면 들어오는 데이터 필드 이름이 Oracle Database의 열 이름과 일치해야 합니다. 필요한 경우 이 노드 앞에서 edit fields (set) node를 사용하여 형식을 필요에 맞게 조정하는 것을 고려하세요.

Insert or Update 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용하여 ID를 지정할 수 있습니다.
  • Statement Batching: 데이터베이스로 문을 전송하는 방식입니다:
    • Single Statement: 들어오는 모든 항목에 대해 단일 문을 사용합니다.
    • Independently: 실행의 들어오는 항목마다 문을 하나씩 실행합니다.
    • Transaction: 모든 문을 하나의 트랜잭션에서 실행합니다. 실패가 발생하면 Oracle Database는 모든 변경 사항을 롤백합니다.

Select#

이 작업을 사용하여 테이블의 행을 선택합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Select를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Return All: 모든 결과를 반환할지, 아니면 지정한 한도까지만 반환할지 여부입니다.
  • Limit: Return All이 비활성화되어 있을 때 반환할 항목의 최대 개수입니다.
  • Select Rows: 행을 선택할 조건을 설정합니다. 행을 일치시킬 Column, Operator, Value(json으로)를 정의합니다. Value는 유형에 따라 다를 수 있습니다 — 예를 들어 Fixed 모드에서는:
    • 문자열: "hello", hellowithoutquotes, "hello with space"
    • 숫자: 12
    • JSON: { "key": "val" }

아무것도 선택하지 않으면 Oracle Database는 모든 행을 선택합니다.

  • Combine Conditions: Select Rows의 조건을 결합하는 방법입니다. AND는 모든 조건이 참이어야 하고, OR는 조건 중 하나 이상이 참이어야 합니다.
  • Sort: 선택된 행을 정렬하는 방법을 선택합니다. 목록 또는 ID로 Column을 선택하고 정렬 Direction을 선택합니다.

Select 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Output Numbers As String: 숫자를 문자열로 가져올지 여부를 나타냅니다.
  • Fetch Array Size: 이 속성은 Oracle Database에서 쿼리 행을 가져올 때 사용되는 내부 버퍼의 크기를 설정하는 숫자입니다. 이 값을 변경하면 쿼리 성능에 영향을 줄 수 있지만 애플리케이션에 반환되는 행의 수에는 영향을 주지 않습니다.
  • Number of Rows to Prefetch: 이 속성은 쿼리의 내부 초기 문 실행 단계에서 기본 Oracle 드라이버가 추가로 가져올 행 수를 설정하는 쿼리 튜닝 옵션입니다.

업데이트#

이 작업을 사용하여 테이블의 행을 업데이트합니다.

다음 매개변수를 입력합니다:

  • Credential to connect with: 기존 Oracle Database 자격 증명을 생성하거나 선택합니다.
  • Operation: Update를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방법입니다:
    • Map Each Column Manually: 각 열에 사용할 값을 선택합니다 Use n8n expressions for bind values.
    • Map Automatically: 들어오는 데이터를 Oracle Database의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 작동하려면 들어오는 데이터 필드 이름이 Oracle Database의 열 이름과 일치해야 합니다. 필요한 경우 이 노드 앞에서 edit fields (set) node를 사용하여 형식을 필요에 맞게 조정하는 것을 고려하세요.

Update 옵션#

  • Auto Commit: 이 속성을 true로 설정하면 현재 연결의 트랜잭션이 문 실행이 끝날 때 자동으로 커밋됩니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용하여 ID를 지정할 수 있습니다.
  • Statement Batching: 데이터베이스로 문을 전송하는 방식입니다:
    • Single Statement: 들어오는 모든 항목에 대해 단일 문을 사용합니다.
    • Independently: 실행의 들어오는 항목마다 문을 하나씩 실행합니다.
    • Transaction: 모든 문을 하나의 트랜잭션에서 실행합니다. 실패가 발생하면 Oracle Database는 모든 변경 사항을 롤백합니다.

관련 자료#

서비스에 대한 자세한 내용은 SQL Language Reference를 참고하세요.

node-oracledb 드라이버에 대한 자세한 내용은 node-oracledb documentation을 참고하세요.

바인드 매개변수 사용#

Oracle 데이터베이스 인스턴스에서 실행할 문을 작성할 때 Options 섹션의 Bind Variable Placeholder Values 필드를 사용하여 문에 데이터를 로드할 수 있습니다. n8n은 문 매개변수의 데이터를 정제(sanitize)하여 SQL 인젝션을 방지합니다.

예를 들어 색상별로 특정 과일을 찾고 싶다고 가정해 보겠습니다. 다음과 같은 입력 데이터가 주어졌을 때:

[
    {
        "FRUIT_ID": 1,
        "FRUIT_NAME": "Apple",
        "COLOR": "Red" 
    },
    {
        "FRUIT_ID": 2,
        "FRUIT_NAME": "Banana",
        "COLOR": "Yellow"
    }
]

다음과 같은 문을 작성할 수 있습니다:

SELECT * FROM FRUITS WHERE COLOR = :col

그런 다음 Bind Variable Placeholder Values에서 사용할 필드 값을 제공합니다. 고정 값 또는 표현식을 제공할 수 있습니다. 이 예제에서는 노드가 각 입력 항목에서 순서대로 색상을 가져올 수 있도록 표현식을 사용합니다:

// fruits is an example table name
fruits, {{ $json.color }} 

바인드 값에 n8n Expression 사용#

Values to Send의 경우 n8n Expressions를 사용하여 입력을 제공할 수 있습니다. 아래는 서로 다른 데이터 유형에 대한 예시입니다 — 상수 값을 입력하거나 이전 항목의 필드($json)를 참조할 수 있습니다:

JSON#

  • 상수: {{ { k1: "v1", k2: "v2" } }}
  • 이전 항목에서: {{ $json.COL_JSON }}

VECTOR#

  • 상수: {{ [1, 2, 3, 4.5] }}
  • 이전 항목에서: {{ $json.COL_VECTOR }}

BLOB#

  • 상수: {{ [94, 87, 34] }} 또는 {{ ' BLOB data string' }}
  • 이전 항목에서: {{ $json.COL_BLOB }}

RAW#

  • 상수: {{ [94, 87, 34] }}
  • 이전 항목에서: {{ $json.COL_RAW }}

BOOLEAN#

  • 상수: {{ true }}
  • 이전 항목에서: {{ $json.COL_BOOLEAN }}

NUMBER#

  • 상수: 1234
  • 이전 항목에서: {{ $json.COL_NUMBER }}

VARCHAR#

  • 상수: ' Hello World '
  • 이전 항목에서: {{ $json.COL_CHAR }}

이 예시들은 JSON 키(예: COL_JSON, COL_VECTOR)가 해당 SQL 열 유형에 직접 매핑된다고 가정합니다.