Isso é sintaticamente inválido, pois tem um
INDEX
extra palavra-chave no final, mas se você corrigir isso:create type T_STRING_TAB is table of varchar2(260);
Esse é um tipo de dados de coleta definido no escopo SQL. Atualmente, o C# não oferece suporte à passagem de uma matriz não associativa.
Seu código C# está esperando um array associativo definido no escopo PL/SQL:
Para fazer um array associativo PL/SQL você precisa fazer isso dentro de um pacote e incluir um
INDEX BY <numeric data type>
cláusula:CREATE PACKAGE package_name AS
TYPE STRING_MAP IS TABLE OF VARCHAR2(260) INDEX BY BINARY_INTEGER;
END;
/
Então seu procedimento pode ser:
create or replace procedure spTest(
eventids in PACKAGE_NAME.STRING_MAP
)
as
starteventid integer;
begin
starteventid := 1000000;
end;
/