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

連結するPostgresql挿入トリガー

    実用的な解決策は次のとおりです。

    CREATE TEMPORARY TABLE t_employees (
        first_name TEXT,
        mid_name TEXT,
        last_name TEXT,
        fullname TEXT
    );
    
    CREATE OR REPLACE FUNCTION set_fullname()
        RETURNS TRIGGER AS $$
        BEGIN
            NEW.fullname = NEW.first_name || ' ' || NEW.mid_name || ' ' || NEW.last_name;
            RETURN NEW;
        END;
        $$ language 'plpgsql';
    
    
    CREATE TRIGGER set_fullname_trigger
        BEFORE INSERT OR UPDATE ON t_employees
        FOR EACH ROW
        EXECUTE PROCEDURE set_fullname();
    
    
    SET client_min_messages TO 'debug';
    INSERT INTO t_employees VALUES ('fname1', 'mname1', 'lname1');
    SELECT * FROM t_employees;
    UPDATE t_employees SET first_name = 'updated-first-name';
    SELECT * FROM t_employees;
    


    1. Postgresがlastval()を正しく返さない

    2. OracleJDBCのストアドプロシージャで定義されたINOUTCLOBパラメータを使用するにはどうすればよいですか?

    3. PHPで非常に大きなXMLファイルを解析する

    4. phpxamppでアクセス拒否エラー