sql >> データベース >  >> RDS >> PostgreSQL

postgresql関数を使用して異なるテーブル名からデータをフェッチしたい

    そのためには動的SQLが必要です:

    CREATE OR REPLACE FUNCTION getDataByTable() 
      RETURNS text AS $$ 
    DECLARE 
        tablename text;
        l_result text; 
    BEGIN 
       tablename := gettablename('2');
       execute format('select shg_code from %I', tablename)  
         into l_result;
       RETURN l_result;  
    END;
    $$  LANGUAGE plpgsql; 
    

    %I format()関数のプレースホルダーは、必要に応じて識別子の引用符を適切に処理します。




    1. MySQLのインデックスを理解する:パート2

    2. OracleのJSON_VALUE()関数

    3. exec結果をSQL変数に割り当てる方法は?

    4. SQLServerにログインできません+SQLServer認証+エラー:18456