Вы находитесь на странице: 1из 2

SQL> -- THERE ARE 3 TARGETS

SQL> --1-10 RECORDS TO 1ST TARGET


SQL> --11-20 RECORDS TO 2ND TARGET
SQL> --21-30 RECORDS TO 3RD TARGET
SQL> SELECT * FROM (SELECT EMP.*,ROWNUM RN FROM EMP) WHERE MOD(RN,30)<=10 AND MO
D(RN,30)>=1;
EMPNO ENAME
RN

JOB

MGR HIREDATE

SAL

COMM

EPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- --------- ---------7369 SMITH
1

CLERK

7902 17-DEC-80

1600

20

7499 ALLEN
2

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

3
7566 JONES
4

MANAGER

7839 02-APR-81

2975

20

7654 MARTIN
5

SALESMAN

7698 28-SEP-81

1250

30

7698 BLAKE
6

MANAGER

7839 01-MAY-81

2850

30

7782 CLARK
7

MANAGER

7839 09-JUN-81

2450

10

7788 SCOTT
8

ANALYST

7566 19-APR-87

3000

20

7839 KING

PRESIDENT

17-NOV-81

5000

7698 08-SEP-81

1500

10

1400

9
7844 TURNER
10

30

SALESMAN

10 rows selected.
SQL> ED
Wrote file afiedt.buf
1* SELECT * FROM (SELECT EMP.*,ROWNUM RN FROM EMP) WHERE MOD(RN,30)<=20 AND MO
D(RN,30)>=11
SQL> /
EMPNO ENAME
RN

JOB

MGR HIREDATE

SAL

COMM

EPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- --------- ---------7876 ADAMS

CLERK

7788 23-MAY-87

1100

20

11
7900 JAMES
12

CLERK

7698 03-DEC-81

950

30

7902 FORD
13

ANALYST

7566 03-DEC-81

3000

20

7934 MILLER
14

CLERK

7782 23-JAN-82

1300

10

SQL> ED
Wrote file afiedt.buf
1* SELECT * FROM (SELECT EMP.*,ROWNUM RN FROM EMP) WHERE MOD(RN,30)<=30 AND MO
D(RN,30)>=21
SQL> /
no rows selected
SQL> SPOOL OFF;
RULE:
MOD(RN,NUMBER OF TABLES * NUMBER OF NUMBER OF RECORDS YOU WANT IN EACH TABLE)

Вам также может понравиться