sql >> Database teknologi >  >> RDS >> Oracle

Sådan sender du skemanavn og tabelnavn som input, så få hukommelsesstørrelse og row_count som output i plsql

Bruger ikke ligefrem COUNT(), men NUM_ROWS burde gøre:

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. sql forbindes som venn-diagram

  2. Vil du kopiere autoincrement-værdien til en anden kolonne ved indsættelse?

  3. Returner rækker i den nøjagtige rækkefølge, de blev indsat

  4. Opretter du en web-app, der kan arbejde offline, gemme data og derefter synkronisere dem til ekstern MySQL, når du er online?