Dies ist syntaktisch ungültig, da es einen zusätzlichen INDEX
hat Schlüsselwort am Ende, aber wenn Sie das beheben:
create type T_STRING_TAB is table of varchar2(260);
Das ist ein Sammlungsdatentyp, der im SQL-Bereich definiert ist. C# unterstützt derzeit nicht die Übergabe eines nicht-assoziativen Arrays.
Ihr C#-Code erwartet ein assoziatives Array, das im PL/SQL-Bereich definiert ist:
Um ein assoziatives PL/SQL-Array zu erstellen, müssen Sie dies innerhalb eines Pakets tun und einen INDEX BY <numeric data type>
einfügen Klausel:
CREATE PACKAGE package_name AS
TYPE STRING_MAP IS TABLE OF VARCHAR2(260) INDEX BY BINARY_INTEGER;
END;
/
Dann kann Ihr Verfahren sein:
create or replace procedure spTest(
eventids in PACKAGE_NAME.STRING_MAP
)
as
starteventid integer;
begin
starteventid := 1000000;
end;
/