Oracle
 sql >> база данни >  >> RDS >> Oracle

Курсор за цикъл в Oracle

За да разрешите проблеми, свързани с втория подход във вашия въпрос, трябва да използвате

променлива на курсора и изричен начин за отваряне на курсор и извличане на данни. Не е

разрешено да използва променливи на курсора в FOR цикъл:

declare
  l_sql varchar2(123);        -- variable that contains a query
  l_c   sys_refcursor;        -- cursor variable(weak cursor). 
  l_res your_table%rowtype;   -- variable containing fetching data  
begin
  l_sql := 'select * from your_table';

  -- Open the cursor and fetching data explicitly 
  -- in the LOOP.

  open l_c for l_sql;

  loop
    fetch l_c into l_res;
    exit when l_c%notfound;   -- Exit the loop if there is nothing to fetch.

     -- process fetched data 
  end loop;

  close l_c; -- close the cursor
end;

Научете повече



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL заявка за изброяване на всички схеми в DB

  2. Как да се справим с едновременните вмъквания в DB, ​​причиняващи нарушение на правило за записите в базата данни?

  3. sql заявка за сравняване на резултатите от следните заявки

  4. Тази реализация съвместима ли е с SQL-92?

  5. ПРОМЕНИ КОЛОНА в оракул - Как да проверим дали колона е нула, преди да се зададе на нула?