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

Postgresql 9.1の動的テーブル名のforループ?

    plpgsql埋め込みSQLでテーブルまたは列識別子として変数を使用することはできません。解決策は動的SQLです-EXECUTEまたはFORINEXECUTEステートメント:

    DO $$
    DECLARE
      tables text[] = ARRAY['table1','table2'];
      table_name text;
      rec record;
    BEGIN
      FOREACH table_name IN ARRAY tables
      LOOP
        FOR r IN EXECUTE format('SELECT * FROM %I', table_name)
        LOOP
          RAISE NOTICE '%', rec;
        END LOOP; 
      END LOOP;
    END; $$
    



    1. イベントの最新の日付でグループ化されたテーブル結合から個別の順序対を選択します

    2. INSERT / UPDATE/DELETE操作を最適化する

    3. Mysqlはcsv文字列のwhereフィールドを選択します

    4. MariaDBでデータベースのサイズを取得する