Страница 1 из 1

Oracle 9 and MERGE clause.

Добавлено: 06 апр 2004, 11:17
Vovchik
Кто нить пользовал слово MERGE в Оракл 9? А то вроде все работало а тута вдруг обнаружилась такая хрень - при попытке слить таблицу с запросом из 22 столбцов вылетает ошибка ORA-03113: end-of-file on communication channel

Сначала я думал что это типа железо навернулось - но на другом более попсовом сервере все тоже самое.

Кто нить встречал такого зверя?

Re: Oracle 9 and MERGE clause.

Добавлено: 06 апр 2004, 11:37
MarkM
Vovchik писал(а):Кто нить пользовал слово MERGE в Оракл 9? А то вроде все работало а тута вдруг обнаружилась такая хрень - при попытке слить таблицу с запросом из 22 столбцов вылетает ошибка ORA-03113: end-of-file on communication channel

Сначала я думал что это типа железо навернулось - но на другом более попсовом сервере все тоже самое.

Кто нить встречал такого зверя?
[trn]Ty pro che voobshe? "Slit'" kuda? Zapros pokazhi.[/trn]

Re: Oracle 9 and MERGE clause.

Добавлено: 06 апр 2004, 11:43
Vovchik
MarkM писал(а):
Vovchik писал(а):Кто нить пользовал слово MERGE в Оракл 9? А то вроде все работало а тута вдруг обнаружилась такая хрень - при попытке слить таблицу с запросом из 22 столбцов вылетает ошибка ORA-03113: end-of-file on communication channel

Сначала я думал что это типа железо навернулось - но на другом более попсовом сервере все тоже самое.

Кто нить встречал такого зверя?
[trn]Ty pro che voobshe? "Slit'" kuda? Zapros pokazhi.[/trn]


SQL> merge into master_list m using
2 (select v.PART_NO, trim(v.LNAME) as last_name ,
3 get_first_name(trim(v.lname) || ' ' || trim(v.fname)) as first_name,
4 get_mid_name(trim(v.lname) || ' ' || trim(v.fname)) as m_name,
5 trim(v.ADDRESS) as addr, trim(v.CITY) as cit,
6 v.STATE, v.ZIP, v.H_PHONE, v.VOTER_DIV, v.VOTER_REG, v.JUD_CODE,
7 trim(v.D_LICENCE) as dl, v.SIN,
8 v.DATE_SELECTED1, v.DATE_SELECTED2, v.DATE_SELECTED3, v.PERM_DISQUAL, v.RACE_CODE,
9 v.GENDER, v.DOB, v.PERM_EXCLUDED
10 from voters v where v.date_selected1 is not null
11 and v.perm_excluded is not null
12 ) d
13 on (d.part_no = m.part_no )
14 when matched then update set m.date_selected1 = d.date_selected1,
15 m.perm_excluded = d.perm_excluded
16 when not matched then insert (m.part_no, m.lname, m.fname, m.mid_name, m.address, m.city,
17 m.state, m.zip, m.h_phone, m.voter_div, m.voter_reg, m.jud_code, m.license, m.sin,
18 m.date_selected1, m.date_selected2, m.date_selected3, m.perm_disqual, m.race,
19 m.gender, m.dob, m.perm_excluded)
20 values (d.part_no, d.last_name, d.first_name, d.m_name, d.addr, d.cit,
21 d.state, d.zip, d.h_phone, d.voter_div, d.voter_reg, d.jud_code,d.dl, d.sin,
22 d.date_selected1, d.date_selected2, d.date_selected3, d.perm_disqual, d.race_code,
23 d.gender, d.dob, d.perm_excluded);
and v.perm_excluded is not null
*
ERROR at line 11:
ORA-03113: end-of-file on communication channel

Re: Oracle 9 and MERGE clause.

Добавлено: 06 апр 2004, 12:15
MarkM
Hm. U menja 9.2.0.4 Std Edtn - nikakogo MERGE net

SP2-0734: unknown command beginning "merge into..." - rest of line ignored.

A chto prosto INSERT... SELECT... ne katit?

Re: Oracle 9 and MERGE clause.

Добавлено: 06 апр 2004, 13:35
Vovchik
MarkM писал(а):Hm. U menja 9.2.0.4 Std Edtn - nikakogo MERGE net

SP2-0734: unknown command beginning "merge into..." - rest of line ignored.

A chto prosto INSERT... SELECT... ne katit?
Не катит - надо процедуру сваять.

Re: Oracle 9 and MERGE clause.

Добавлено: 06 апр 2004, 13:49
Vovchik
MarkM писал(а):Hm. U menja 9.2.0.4 Std Edtn - nikakogo MERGE net

SP2-0734: unknown command beginning "merge into..." - rest of line ignored.

A chto prosto INSERT... SELECT... ne katit?
BTW - должно быть MERGE утебя. Это новое слово в Оракл 9. Читай SQL reference.

Re: Oracle 9 and MERGE clause.

Добавлено: 06 апр 2004, 15:03
Vovchik
Vovchik писал(а):Кто нить пользовал слово MERGE в Оракл 9? А то вроде все работало а тута вдруг обнаружилась такая хрень - при попытке слить таблицу с запросом из 22 столбцов вылетает ошибка ORA-03113: end-of-file on communication channel

Сначала я думал что это типа железо навернулось - но на другом более попсовом сервере все тоже самое.

Кто нить встречал такого зверя?
Мля звездец полный, поубивав бы всех. Оказывается ежели при слове MERGE происходит ORA-01401: inserted value too large for column
- то Оракл гад моментом обрубает коннекшен выкидывая эту заразную ORA-03113 безо вских объяснениу. Суки, баг на баге, полдня ковырялся.