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

předání názvu tabulky jako parametru plsql

Můžete použít dynamické 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;

Existuje také nepřímý způsob, jak získat počet řádků (pomocí systémových zobrazení):

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;

Druhý způsob funguje pouze v případě, že jste před vyvoláním této funkce shromáždili statistiky v tabulce.




  1. Kdy musím v Oracle SQL použít středník vs lomítko?

  2. Výsledek formátu odčítání času

  3. Jak vyřešit problém Nelze načíst ověřovací plugin 'caching_sha2_password'

  4. Jak získat přístup k MySQL pomocí kořenového uživatele MySQL