database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 29195 게시물 읽기
No. 29195
데이터 자동 생성할려면 어떻게 해야 할까요?
작성자
좋아좋아
작성일
2006-12-27 11:22
조회수
1,369

대용량 데이터 베이스를 시뮬레이션해서 SQL 튜닝을해볼려고 합니다.

예를 들어, EMP라는 테이블에 FNAME, LNAME, TITLE, PIN, etc. 의 컬럼이 있을때,

자동으로 테이블에 맞춰서 데이터 1000만개 정도 만드는 방법에는 어떤것들이 있을까요?

이 글에 대한 댓글이 총 1건 있습니다.

님이 제시한 테이블은 정확한 데이터 타입을 알 수 없어 다음과 같다 가정 하에...
create.sql 을 실행, 테이블을 작성 한 후,  insert.sql 을 실행 시키면 원하는 수 만큼 데이터를 입력 할 수가 있습니다. 아래의 샘플에서는 7000건이 입력 됩니다.

----------------------------------/* create.sql */------------------
CREATE TABLE EMP
       (EMPNO NUMBER(4) NOT NULL,
        ENAME VARCHAR2(10),
        JOB VARCHAR2(9),
        MGR NUMBER(4),
        HIREDATE DATE,
        SAL NUMBER(7, 2),
        COMM NUMBER(7, 2),
        DEPTNO NUMBER(2));


----------------------------------/* insert.sql */------------------
SET SERVEROUTPUT ON
DECLARE

  V_COUNT NUMBER;
BEGIN
    DBMS_OUTPUT.PUT_LINE('** INSERT START ***************************************');
     FOR I IN 1..7000 LOOP  -- 원하는 데이터 건수 입력
         INSERT INTO EMP (EMPNO, ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
                     VALUES (I, 'ORACLE','NOTHING',7788, SYSDATE,6000,NULL,10);
         V_COUNT := I;
     END LOOP;
     DBMS_OUTPUT.PUT_LINE('-----------------------------------------------------');
       COMMIT;
    DBMS_OUTPUT.PUT_LINE(V_COUNT||' " ROWS INSERTED');
END;
/


쉘에서 입력 하자면 다음과 같이 하면 되겠습니다.
물론 유저/패스워드를 지정 해 주심 되구요.
아래의 샘플에서는 500 건이 입력 됩니다

#################### /* iinsert.sh #######################################

CNT=1
TOTAL=500  # 입력 건 수 체크
while [ $CNT -le $TOTAL ];
do
  echo "++++++++++++++++ Count: $CNT/$TOTAL ++++++++++++++++"
  CNT=`expr $CNT + 1`
  (
  echo "INSERT INTO T_EMP (EMPNO, ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
         VALUES (7001, 'TIGER','JPRS',7788, SYSDATE,6000,NULL,10);"
   ) | time sqlplus 유저/패스워드
done
exit

ohyouknow님이 2006-12-27 14:41에 작성한 댓글입니다.
이 댓글은 2006-12-27 14:43에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
29198SQL문 질문입니다. [1]
최승완
2006-12-27
1216
29197죽겠습니다 통계 ㅜㅜ [2]
hunt
2006-12-27
1926
29196쿼리질문 합계 구하기 [2]
전민수
2006-12-27
1762
29195데이터 자동 생성할려면 어떻게 해야 할까요? [1]
좋아좋아
2006-12-27
1369
29194오라클 8.1.7.0.0 퍼스널/윈2000pro 오라클패치파일 구합니다.
한상원
2006-12-27
863
291939i 에서 pfile 위치 지정???
낚시꾼
2006-12-27
945
29192지금현재 세션중 full table scan을 하는 쿼리/사용자 를 알고 싶습니다
kevin
2006-12-26
1201
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다