我在Yii用POSTGRES开发了一个网站。
因为有2个表table1, table2
。当我在table1中插入一行时,我只需要在table2中使用相同的行。
我该怎么做?
如果有任何最佳做法......
或存储过程适用于此处?
我刚接触了这个......
这是table1的插入代码:
$connection = Yii::app() -> db;
$sql = 'INSERT query here';
$command = $connection -> createCommand($sql);
$command -> execute();
答案 0 :(得分:2)
你有两种方式
1.在table1中使用trigger
后插入数据到表2中
要么
2.您编写了一个商店procedure or function
,它将插入值作为输入,并在两个表中插入数据。
这是触发器的一个例子。
CREATE OR REPLACE FUNCTION fn_data_ins_TRIGGER()
RETURNS TRIGGER AS $$
BEGIN
insert into table2(table_fields) values(NEW.FIELD1,NEW.FIELD2);
RETURN OLD;
END;
$$
LANGUAGE plpgsql;
CREATE TRIGGER trig_fn_data_ins_TRIGGER
BEFORE INSERT ON table1
FOR EACH ROW EXECUTE PROCEDURE fn_data_ins_TRIGGER();