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

新しい行を挿入するときの列のデフォルト値

    SOへようこそ。 triggersをご覧ください

    基本的には、更新された..

    を実行するための関数を作成するだけで済みます。
    CREATE OR REPLACE FUNCTION update_date() RETURNS trigger AS
    $BODY$
    BEGIN
      NEW.updated = current_date;
      RETURN NEW;
    END;
    $BODY$ LANGUAGE 'plpgsql';
    

    ..そしてそれをBEFORE INSERT OR UPDATEに添付します このようにトリガーする

    CREATE TRIGGER check_update
    BEFORE INSERT OR UPDATE ON photographies
    FOR EACH ROW EXECUTE PROCEDURE update_date();
    

    レコードを挿入した後..

    INSERT INTO photographies (name, author, date) 
    VALUES ('José Saramago ','As Intermitências da Morte','2005-01-01');
    

    ..現在の日付で更新された列があります

    SELECT * FROM photographies ;
          name      |           author           |    date    |  updated   
    ----------------+----------------------------+------------+------------
     José Saramago  | As Intermitências da Morte | 2005-01-01 | 2019-12-06
    (1 Zeile)
    



    1. SQLServerでのテキスト修飾子を使用した一括挿入

    2. MySQL PHP count(*)が何か奇妙なものを返す

    3. IN 句による SQL Server の結果の並べ替え

    4. ORACLE SQL:キーワードがありません