第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將用戶ID傳遞給PostgreSQL觸發(fā)器

將用戶ID傳遞給PostgreSQL觸發(fā)器

縹緲止盈 2019-10-21 10:08:14
我正在使用PostgreSQL 9.1。我的數(shù)據(jù)庫是結(jié)構(gòu)化的,因此有我的應(yīng)用程序使用的實(shí)際表。對(duì)于每個(gè)表,都有一個(gè)歷史表僅存儲(chǔ)更改歷史記錄。歷史表包含與實(shí)際表相同的字段,外加字段構(gòu)成一些額外的信息,例如。編輯時(shí)間。歷史記錄表僅由觸發(fā)器處理。我有兩種觸發(fā)器:Before INSERT 創(chuàng)建表時(shí)觸發(fā)向表中添加一些額外的信息(例如create_time)。Before UPDATE觸發(fā)器和before DELETE觸發(fā)器,以將舊值從實(shí)際表復(fù)制到歷史表。問題是我想使用觸發(fā)器來存儲(chǔ)進(jìn)行這些更改的用戶的ID。用id表示來自php應(yīng)用程序的id,而不是PostgreSQL用戶ID。有什么合理的方法嗎?使用INSERT和UPDATE,可以僅將ID的額外字段添加到實(shí)際表中,并將用戶ID作為SQL查詢的一部分傳遞給SQL。據(jù)我所知,這不適用于DELETE。所有觸發(fā)器的結(jié)構(gòu)如下:CREATE OR REPLACE FUNCTION before_delete_customer() RETURNS trigger AS $BODY$BEGIN    INSERT INTO _customer (        edited_by,        edit_time,        field1,        field2,        ...,        fieldN    ) VALUES (        -1, // <- This should be user id.        NOW(),        OLD.field1,        OLD.field2,        ...,        OLD.fieldN    );    RETURN OLD;END; $BODY$LANGUAGE plpgsql
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 583 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)