|
|
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
|7369|SMITH|CLERK|7902|17.12.1980|800|0000000.00|20| |7499|ALLEN|SALESMAN|7698|20.02.1981|1600|0000300.00|30| |7521|WARD|SALESMAN|7698|22.02.1981|1250|0000500.00|30| |7566|JONES|MANAGER|7839|02.04.1981|2975|0000000.00|20| |7654|MARTIN|SALESMAN|7698|28.09.1981|1250|0001400.00|30| |7698|BLAKE|MANAGER|7839|01.05.1981|2850|0000000.00|30| |7782|CLARK|MANAGER|7839|09.06.1981|2450|0000000.00|10| |7788|SCOTT|ANALYST|7566|09.12.1982|3000|0000000.00|20| |7839|KING|PRESIDENT|0000|17.11.1981|5000|0000000.00|10| |7844|TURNER|SALESMAN|7698|08.09.1981|1500|0000000.00|30| |7876|ADAMS|CLERK|7788|12.01.1983|1100|0000000.00|20| |7900|JAMES|CLERK|7698|03.12.1981|950|0000000.00|30| |7902|FORD|ANALYST|7566|03.12.1981|3000|0000000.00|20| |7934|MILLER|CLERK|7782|23.01.1982|1300|0000000.00|10| Описание таблицы для sqlldr, что-бы не мучатся. (EMPNO, ENAME, JOB, MGR, HIREDATE DATE "DD.MM.YYYY", SAL, COMM, DEPTNO, empid sequence(count,1) ) Создать таблицу можно так: create table emp2 as select * from emp where rownum<1; Таблица emp создаётся: @?/sqlplus/demo/demobld; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 17:55:52 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
не понял, в чем прикол? В доке ведь рассматривается пример на эти данные. Или у тебя что-то не получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 18:02:23 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
to .dba: Меня похоже клинит или я чего-то недочитал. Во такие варианты, я понимаю как сделать: Код: plaintext 1. 2. 3. 4. 5. 6. А такой не понимаю: Код: plaintext 1. Подскажи если не трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 20:27:59 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 21:18:33 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
Спасибо, добрый человек! :) Вот значит оно как - фиктивный столбец можно указывать. Теперь понятно. Я так понимаю в 8.0.X этого не было? Вобщем в любом случае - не дочитал я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 22:23:41 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
Well, there is a caveat. Usually there is an Oracle sequence behind such column. Since SQL*Loader sequence is a separate structure, you need to adjust Oracle sequence manually after the load (which is not too difficult to do as long as you remember to do it). Also, using SQL*Loader sequence can cause issues if: a) multiple loads can be done at the same time (e.g. data is coming from multiple sources which is a common case in data warehousing). b) Application(s) can insert into the table while you are loading (which is the case in all 24x7 shops) So if you want Oracle sequence to be adjusted automatically or you can not use SQL*Loader sequences for the above (or any other) reasons, you could use the following technique: 1. add a column to datafile - value does not matter. For example add value 1. This step can be (and should be) automated anyway. 2. Use empid "EMPID_SEQ.NEXTVAL" in control file: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Load using the following control file: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Check results: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 00:45:19 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
to SY: Не хочу затевать новую тему для обсуждения, так вопрос уже понятен. Но всё-же непонятно зачем так извращяться для заполнения поля EMPID с сиквенсом, когда для этого есть специальное ключевое слово. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 09:21:25 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
2 softbuilder: I guess I missed it in SQL*Loader docs. What keyword do you have in mind? SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 14:42:41 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
Есть два варианта заполнить столбец последовательными числами: 1) empid sequence(count,1) 2) empid RECNUM Ключевые слова sequence, recnum ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 15:03:32 |
|
||
|
Как составить контрольный файл SQL* Loader для загрузки этих данных?
|
|||
|---|---|---|---|
|
#18+
2 softbuilder: I thought I already explained SQL*Loader sequence and recnum have scope limited to current SQL*Loader session. If it is possible two SQL*Loader sessions load at the same time to emp2 using sequence or recnum, then both will try to load two rows with same empid (both sessions will get same count from emp2). Also, if it is possible some application issues insert into emp2 while SQL*loader is loading emp2 using sequence or recnum, again there will be attempt to insert two rows with same empid. And since empid, I would assume, has to be unique load will not complete correctly. In such scenarios it all depends if there is a trigger on emp2 assigning Oracle sequence value to empid. If such trigger is in place, you do not need to do a thing in SQL*Loader. Otherwise, you could use solution I described. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 16:13:43 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2774&tid=1990403]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 346ms |

| 0 / 0 |
