Detta är syntaktisk ogiltigt eftersom det har en extra INDEX
sökord i slutet men om du fixar det:
create type T_STRING_TAB is table of varchar2(260);
Det är en insamlingsdatatyp som definieras i SQL-omfattningen. C# stöder för närvarande inte att skicka en icke-associativ array.
Din C#-kod förväntar sig en associativ array definierad i PL/SQL-omfånget:
För att göra en PL/SQL-associativ array måste du göra det inuti ett paket och inkludera en INDEX BY
CREATE PACKAGE package_name AS
TYPE STRING_MAP IS TABLE OF VARCHAR2(260) INDEX BY BINARY_INTEGER;
END;
/
Då kan din procedur vara:
create or replace procedure spTest(
eventids in PACKAGE_NAME.STRING_MAP
)
as
starteventid integer;
begin
starteventid := 1000000;
end;
/