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

PL/pgSQLで行タイプごとにテーブルを返す方法

    あなたが今まで持っているものはよさそうだ。不足している成分:ポリモーフィックタイプ

    CREATE OR REPLACE FUNCTION change_val(_tbl_type anyelement)
      RETURNS SETOF anyelement  -- problem solved
      LANGUAGE plpgsql AS
    $func$
    BEGIN
       RETURN QUERY EXECUTE format(
          'UPDATE %s SET val = 2 RETURNING *;'
         , pg_typeof(_tbl_type))
         );
    END
    $func$;

    電話(重要):

    SELECT * FROM change_val(NULL::some_tbl);
    

    db <> fiddle こちら
    古い sqlfiddle

    (最後の段落)を参照してください:




    1. MySQLでマテリアライズドビューを実装する方法は?

    2. MySQL:毎日の開始と終了のタイムスタンプを取得します

    3. Mac OSXLion上のRubyonRails3.2.0を使用したMAMP2.0.1

    4. NHibernateでギャップのないユーザーフレンドリーなIDを実装するにはどうすればよいですか?