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

предаване на името на таблицата като параметър на plsql

Можете да използвате динамичен SQL:

create or replace function get_table_count (table_name IN varchar2)
  return number
is
  table_count number;
begin
  execute immediate 'select count(*) from ' || table_name into table_count;
  dbms_output.put_line(table_count);
  return table_count;
end;

Има и косвен начин за получаване на брой редове (с помощта на системни изгледи):

create or replace function get_table_count (table_name IN varchar2)
  return number
is
  table_count number;
begin
  select num_rows
    into table_count
    from user_tables
   where table_name = table_name;

  return table_count;
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. Лабиринтът за настройка на производителността

  2. Как да пусна таблица в oracle

  3. Каква е разликата между неповтарящо се четене и фантомно четене?

  4. Въведение в PL/SQL пакетите в Oracle Database

  5. Как да създадете изглед в oracle