Мне нужно было играть с разработчиком sql, и я столкнулся с этой стеной здесь ... Мне нужно запустить простой запрос на обновление в таблице, и я хочу передать массив Идентификаторы и обновите все строки, указанные этими идентификаторами.Передача массивов в качестве параметров для процедуры plsql
Я написал следующую хранимую процедуру
PROCEDURE SAMPLE_PROCEDURE(SAMPLE_ARRAY IN NUM_ARRAY)
AS
BEGIN
UPDATE RETURNLIST_PICKLIST_MAPPING
SET PICKLIST_ID = 1111111
WHERE RETURNLIST_ID IN (SELECT * FROM TABLE(SAMPLE_ARRAY));
END SAMPLE_PROCEDURE;
NUM_ARRAY
является пользовательским типом, определенного следующим образом
create or replace
TYPE NUM_ARRAY
AS VARRAY(40) OF NUMBER(38, 0);
При запуске хранимой процедуры в SQL Developer я хочу, чтобы ввести значение для SAMPLE_ARRAY , Я пробовал (2222,1111,1234)
и [2222,1111,1234]
и {2222,1111,1234}
, и каждый раз, когда я получаю ошибку «выражение неправильного типа».
Я отчаянно нужна помощь с этими парнями ....
Спасибо, что решили проблему ... –
как ощущать NUM_AR RAY через ADO.net? –
@HorribleGuy Извините, это мне известно. Я предлагаю вам отправить еще один вопрос и отметить ADO – Hawk