프로시져로 전달한 데이타의 숫자,문자열구분
입력 데이터에 구분자 추가
입력 데이터를 C/C++에서 Oracle로 전달하기 전에, 숫자와 문자열을 구분하는 구분자를 추가합니다. 예를 들어:
- 숫자는 "N:<value>" 형태
- 문자열은 "S:<value>" 형태
프로시저 수정
CREATE OR REPLACE PROCEDURE bulk_insert_proc ( p_data IN SYS.ODCIVARCHAR2LIST ) IS v_prefix VARCHAR2(1); v_value VARCHAR2(4000); BEGIN FOR i IN 1..p_data.COUNT LOOP v_prefix := SUBSTR(p_data(i), 1, 2); -- 앞의 구분자 확인 v_value := SUBSTR(p_data(i), 3); -- 구분자 이후의 값 IF v_prefix = 'N:' THEN INSERT INTO your_table (number_column, string_column) VALUES (TO_NUMBER(v_value), NULL); ELSIF v_prefix = 'S:' THEN INSERT INTO your_table (number_column, string_column) VALUES (NULL, v_value); END IF; END LOOP; COMMIT; END; / |
C/C++ 코드에서 데이터 예시:
char insertmsg[1000][1024] = { "N:12345", // 숫자 "S:Hello World", // 문자열 ... }; |
'데이타베이스' 카테고리의 다른 글
다량 데이타 입력을 처리하는 배치프로그램(성능향상) (0) | 2025.01.22 |
---|---|
T'way Holdings 의 <'> 특수문자 테이블에 입력하기 (0) | 2025.01.17 |
프로시져.테이블내의 13개의 필드에 대한 1000줄의 입력데이타를 처리 (0) | 2025.01.17 |
프로시져.테이블내의 13개의 필드에 대한 1000줄의 입력데이타를 처리 (0) | 2025.01.17 |
네트웍의 부하를 줄이기 위해서 오라클 프로시져 사용(입력1000번) (0) | 2025.01.17 |