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;
    

    2番目の方法は、この関数を呼び出す前にテーブルの統計を収集した場合にのみ機能します。




    1. 「トリニダード・トバゴ」を使用したOracleSQLDeveloperでの変数置換を回避する方法

    2. MySQLで予約語をテーブル名または列名として使用したために構文エラーが発生しました

    3. 多言語データを保持するための最良のデータベース構造は何ですか?

    4. すべてのパラメータを使用してNSISでpostgresをインストールするにはどうすればよいですか?