Zdá se, že váš klient DB Solo interpretuje první středník, který vidí, jako konec příkazu, což je rozumné pro prosté SQL (DML nebo DDL), ale ne pro PL/SQL.
Můžete to vidět z obrázku protokolu, který jste zveřejnili; pracuje s create function ... v_ids integer
část jako jeden příkaz, protože končí prvním středníkem - zkompiluje se, ale s chybou. Poté vezme další část, až po další středník, jako samostatný příkaz - v_str varchar2(5000)
- a to je to, co dostane ORA-00900, protože to není platné SQL.
Takže na základě toho se zdá, že nerozumí tomu, jak zacházet s PL/SQL odlišně; ale můžete změnit nastavení tak, aby se středníky nepovažovaly za oddělovače příkazů – plošně, což znamená, že za create type
budete muset přidat GO a create function
výpisy a jakékoli další dotazy nebo hovory, které provedete. Bylo by to podobné jako při použití /
všude v SQL*Plus nebo SQL Developer.
Může být jednodušší použít editor procedur . Pravděpodobně poté, co vytvoříte typ a funkci z prohlížeče objektů .
Nebo samozřejmě použijte jiného klienta...