Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-00900:nieprawidłowy błąd instrukcji SQL? Co jest nie tak z moim sql?

Twój klient DB Solo wydaje się interpretować pierwszy średnik, który widzi jako koniec instrukcji, co jest rozsądne dla zwykłego SQL (DML lub DDL), ale nie dla PL/SQL.

Możesz to zobaczyć z opublikowanego obrazu dziennika; traktuje funkcję create function ... v_ids integer część jako jedna instrukcja, ponieważ kończy się pierwszym średnikiem - kompiluje się, ale z błędem. Następnie przyjmuje następny fragment, aż do następnego średnika, jako oddzielną instrukcję — v_str varchar2(5000) - i to jest to, co otrzymuje ORA-00900, ponieważ nie jest to prawidłowy SQL.

Zgodnie z dokumentacją :

Na tej podstawie wydaje się, że nie rozumie, jak inaczej traktować PL/SQL; ale możesz zmienić ustawienia, aby nie traktować średników jako separatorów instrukcji - na całym świecie, co oznacza, że ​​musisz dodać GO po obu create type i create function oświadczeń i wszelkich innych zapytań lub połączeń telefonicznych. Byłoby to podobne do używania / wszędzie w SQL*Plus lub SQL Developer.

Łatwiejsze może być użycie edytora procedur . Przypuszczalnie po utworzeniu typu i funkcji z przeglądarki obiektów .

Lub oczywiście użyj innego klienta...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest odpowiednik Oracle SET NOCOUNT ON programu SQL Server?

  2. Cel korzystania z różnych typów kolekcji PL/SQL w Oracle

  3. Mylący błąd dotyczący braku lewego nawiasu w instrukcji SQL

  4. Jak wyłączyć pamięć podręczną Oracle dla testów wydajności?

  5. Zestaw znaków Oracle JDBC i limit 4000 znaków