Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / источник ошибки / 3 сообщений из 3, страница 1 из 1
04.10.2002, 14:44
    #32055522
Lexis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
источник ошибки
сделал курсор по экспорту данных из одной таблице в другую, на 35677ой строке выскакивает ошибка:

The following error has occurred:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 45

не могу найти источник ошибки...длинна данных, строк и т.п. вроде удовлетворяет

Код: 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.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
declare v_accountnumber customer.ACCOUNTNUMBER%type;
		v_lastname customer.name1%type;
		v_firstname customer.name2%type;
		v_phonenumber customer.PRIMARYTELEPHONE%type;
		v_phoneextention customer.PRIMARYTELEPHONE%type;
		v_faxnumber customer.PRIMARYFAX%type;
		v_name customertype.NAME%type;
		v_TERRITORYNAME salesterritoryname.TERRITORYNAME%type;
		v_REGIONNAME salesregionname.REGIONNAME%type;
		v_businessflag customer.COMPANYFLAG%type;
		v_agencyflag customer.AGENCYFLAG%type;
	    V_id number ;
		e_exp exception;
cursor c_customer is		
	   select customer.accountid accountnumber, 
	   		  customer.name1 firstname, 
	   		  customer.name2 lastname, 
			  customer.PRIMARYTELEPHONE phonenumber, 
	   		  customer.PRIMARYEXTENSION phoneextention,
	   		  customer.PRIMARYFAX faxnumber,
	   		  substr(customertype.name, 1 , 10 ) name,
	   		  salesterritoryname.TERRITORYNAME TERRITORYNAME,
	   		  salesregionname.REGIONNAME REGIONNAME,          
	   		  customer.COMPANYFLAG businessflag,
	   		  customer.AGENCYFLAG agencyflag
			  from customer, customertype , salesterritoryname, salesregionname
			  where customer.TYPEID=customertype.id (+) and
			  	  customer.SALESTERRITORYID=salesterritoryname.SALESTERRITORYNAMEID (+) and 
				  customer.SALESREGIONID=salesregionname.SALESREGIONNAMEID (+);
begin
	 V_id:= 1 ;
	 open c_customer;
	 fetch c_customer into v_accountnumber, 
	 	   		  	   v_firstname, 
					   v_lastname, 
					   v_phonenumber, 
					   v_phoneextention,  
					   v_faxnumber,
					   v_name,
					   v_TERRITORYNAME,
					   v_REGIONNAME,
					   v_businessflag,
					   v_agencyflag;
	 while c_customer%found loop
	 fetch c_customer into v_accountnumber, 
	 	   		  	   v_firstname, 
					   v_lastname, 
					   v_phonenumber, 
					   v_phoneextention,  
					   v_faxnumber,
					   v_name,
					   v_TERRITORYNAME,
					   v_REGIONNAME,
					   v_businessflag,
					   v_agencyflag;
		 insert into fact.dmclient
		 		(clientkey,
				 accountnumber,
				 firstname,
				 lastname,
				 phonenumber,
				 phoneextension,
				 faxnumber,
				 customertype,
				 salesterritory,
				 salesregion,
				 businessflag,
				 agencyflag
				) 
		 values (V_id, v_accountnumber, 
	 	   		  	   v_lastname, 
					   v_firstname, 
					   to_number(v_phonenumber), 
					   to_number(v_phoneextention),  
					   to_number(v_faxnumber),
					   v_name,
					   substr(v_TERRITORYNAME, 1 , 10 ),
					   substr(v_REGIONNAME, 1 , 10 ),
					   v_businessflag,
					   v_agencyflag
					   );
		 commit;
		 V_id:=V_id+ 1 ;
	 end loop;
	 close c_customer;
 		 
end;	
...
Рейтинг: 0 / 0
04.10.2002, 18:38
    #32055618
stalker_cop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
источник ошибки
А че используешь такую конструкцию
Используй цикл по курсору и все нормально будет
Оракл сам будет загонять данные в курсорную переменную и у тебя все вопросы сами отпадут. Покрайне мере этот.
for cRec in c_customer loop
...
cRec.accountnumber - делаешь с ним что нужно
...
Рейтинг: 0 / 0
04.10.2002, 21:12
    #32055663
Lexis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
источник ошибки
использую, потому что не знаю
скинь сслыку на пример если можно
спасибо
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / источник ошибки / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]