sql >> Databáze >  >> RDS >> Oracle

ORA-00900:Chyba neplatného příkazu SQL? Co je špatného s mým SQL?

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.

Podle dokumentace :

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...




  1. spustit uloženou proceduru ve skriptu aplikací Google

  2. jak získat tento výsledek pomocí dotazu Oracle v hierarchické struktuře

  3. Jak vytvořit a vyplnit pole php z databáze Mysql

  4. Rekurzivní postgres JSONB