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

Jak przekazać nazwę schematu i nazwę tabeli jako dane wejściowe, a następnie uzyskać rozmiar pamięci i liczbę wierszy jako dane wyjściowe w plsql?

Niezupełnie używając COUNT(), ale NUM_ROWS powinno wystarczyć:

CREATE OR REPLACE PROCEDURE GET_TABLE_COUNT4(TABLE_NAME  IN VARCHAR2,
                                             SCHEMA_NAME IN VARCHAR2) IS
  TABLE_COUNT NUMBER;
  BYTE_COUNT  NUMBER;
BEGIN
  SELECT DB.NUM_ROWS
    INTO TABLE_COUNT
    FROM DBA_TABLES DB
   WHERE DB.TABLE_NAME = UPPER(TABLE_NAME);

  DBMS_OUTPUT.PUT_LINE(TABLE_COUNT);

  SELECT BYTES
    INTO BYTE_COUNT
    FROM DBA_SEGMENTS
   WHERE OWNER        = UPPER(SCHEMA_NAME)
     AND SEGMENT_NAME = UPPER(TABLE_NAME);

  DBMS_OUTPUT.PUT_LINE(BYTE_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. sposoby na uniknięcie globalnych tabel tymczasowych w Oracle

  2. Data Oracle TO_CHAR('Miesiąc DD, RRRR') zawiera dodatkowe spacje

  3. Dlaczego nie mogę połączyć się przez jdbc za pomocą SQLcl

  4. Iteruj po kolumnie w PL/SQL

  5. Nie można poprawnie zainstalować Oracle Developer Tools for Visual Studio 2019