У меня странный сценарий. На оракуле 11,2 дБ есть одно значение, которое при выборе типа таблицы вызывает ошибку неверного типа данных при использовании типа таблицы. Я подтвердил, что при исключении строки все остальное работает нормально.
Псевдокод;
type my_nums is table of number;
select num bulk collect into my_nums from tableA;
select t.my_col from tableB t where t.my_col IN (select column_value from table(my_nums));
Я проверил этот ключ из таблицы A, используя числовое значение;
with t as (select to_char(num) as txt from tableA where num = 33)
select txt, case when regexp_like(txt, '^-?[[:digit:],.]*$') then 'Numeric' else 'Non-Numeric' end as type
FROM t;
Взято из Как проверить, является ли поле числовым . Могу ли я посмотреть на что-то еще, чтобы выяснить, почему это происходит?
Чтобы было ясно, используя следующее, все хорошо в моей процедуре.
select num bulk collect into my_nums from tableA where num != 33;
Заранее спасибо.