У меня есть список элементов, которые я хочу добавить одним кликом, для этого я создал таблицу со столбцом с типом varchar2 (4000), в этом столбце я хочу перечислить идентификаторы, которые относятся к другой таблицы, чтобы я мог вставить значение этого столбца в качестве параметра. ех. выберите t. * из table_name t, где t.point_id в (varchar2 строка разделенных запятыми point_ids).
Проблема, с которой я столкнулся, заключается в том, что, когда я помещаю более 1 идентификатора в поле varchar2, я получаю ORA-06502: PL / SQL: ошибка числа или значения: ошибка преобразования символа в число
Как мне избежать этой ошибки? Мое поле - varchar2, а не число, и я не хочу, чтобы оно конвертировалось. Мне нужно значение, которое я анализирую, чтобы сохранить. ех. (11, 12)
Изображение моей таблицы:
РЕДАКТИРОВАТЬ: Примечание. Мой выбор работает нормально, у меня проблема с сохранением информации.
Моя вставка:
procedure lab_water_pointsgroup (v_group_id lab_water_pointsgroups.group_name%type,
v_group_name lab_water_pointsgroups.group_code%type,
v_group_code lab_water_pointsgroups.lab_points_ids%type,
v_lab_points_ids lab_water_pointsgroups.group_id%type) as
begin
update lab_water_pointsgroups
set group_name = v_group_name,
group_code = v_group_code,
lab_points_ids = v_lab_points_ids
where group_id = v_group_id;
if ( SQL%RowCount = 0 ) then
insert into lab_water_pointsgroups
(group_id, group_name, group_code, lab_points_ids)
values
(v_group_id, v_group_name, v_group_code, v_lab_points_ids);
end if;
end;