在YII中插入两个表的最佳实践

时间:2014-02-27 06:05:07

标签: postgresql yii

我在Yii用POSTGRES开发了一个网站。

因为有2个表table1, table2。当我在table1中插入一行时,我只需要在table2中使用相同的行。

我该怎么做?

如果有任何最佳做法......

或存储过程适用于此处?

我刚接触了这个......

这是table1的插入代码:

 $connection = Yii::app() -> db;
    $sql = 'INSERT query here';
    $command = $connection -> createCommand($sql);
    $command -> execute();

1 个答案:

答案 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();