Това е синтактично невалидно, тъй като има допълнителен INDEX
ключова дума в края, но ако поправите това:
create type T_STRING_TAB is table of varchar2(260);
Това е тип данни за колекция, дефиниран в обхвата на SQL. Понастоящем C# не поддържа предаване на неасоциативен масив.
Вашият C# код очаква асоциативен масив, дефиниран в обхвата на PL/SQL:
За да направите PL/SQL асоциативен масив, трябва да го направите вътре в пакет и да включите INDEX BY <numeric data type>
клауза:
CREATE PACKAGE package_name AS
TYPE STRING_MAP IS TABLE OF VARCHAR2(260) INDEX BY BINARY_INTEGER;
END;
/
Тогава вашата процедура може да бъде:
create or replace procedure spTest(
eventids in PACKAGE_NAME.STRING_MAP
)
as
starteventid integer;
begin
starteventid := 1000000;
end;
/