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

Zadeklarowanie zmiennej i ustawienie jej wartości z zapytania SELECT w Oracle

WYBIERZ DO

DECLARE
   the_variable NUMBER;

BEGIN
   SELECT my_column INTO the_variable FROM my_table;
END;

Upewnij się, że zapytanie zwraca tylko jeden wiersz:

Domyślnie instrukcja SELECT INTO musi zwracać tylko jeden wiersz. W przeciwnym razie PL/SQL zgłasza predefiniowany wyjątek TOO_MANY_ROWS, a wartości zmiennych w klauzuli INTO są niezdefiniowane. Upewnij się, że klauzula WHERE jest wystarczająco szczegółowa, aby dopasować tylko jeden wiersz

Jeśli nie zostaną zwrócone żadne wiersze, PL/SQL zgłasza NO_DATA_FOUND. Możesz zabezpieczyć się przed tym wyjątkiem, wybierając wynik funkcji agregującej, takiej jak COUNT(*) lub AVG(), tam gdzie jest to praktyczne. Te funkcje gwarantują zwrócenie pojedynczej wartości, nawet jeśli żaden wiersz nie spełnia warunku.

Instrukcja SELECT ... BULK COLLECT INTO może zwrócić wiele wierszy. Aby przechowywać wyniki, musisz skonfigurować zmienne kolekcji. Możesz zadeklarować tablice asocjacyjne lub tabele zagnieżdżone, które rosną w miarę potrzeb, aby pomieścić cały zestaw wyników.

Niejawny kursor SQL i jego atrybuty %NOTFOUND, %FOUND, %ROWCOUNT i %ISOPEN dostarczają informacji o wykonaniu instrukcji SELECT INTO.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 sposoby formatowania liczby z wiodącymi zerami w Oracle

  2. Oracle SQL — sumowanie i grupowanie danych według tygodnia

  3. ORA-00936:brak wyroczni wyrażenia

  4. Oracle - Clone table - Struktura, ograniczenia danych i wszystko

  5. Oracle.DataAccess nie jest dostępny do wyboru w Visual Studio 2013