11 public static function add($table, $column)
13 if (Yii::app()->db->driverName ==
'oci') {
14 $table = Yii::app()->db->getSchema()->getTable($table,
true);
15 $sequenceName = $table->name .
'_' . substr($column, 0, 3) .
'_s';
16 $triggerName = $sequenceName .
'_t';
19 create sequence $sequenceName
24 Yii::app()->db->createCommand($sql)->execute();
27 create trigger $triggerName
28 before insert on
"{$table->name}" for each row
30 select $sequenceName.nextval into :
new.
"$column" from dual;
33 Yii::app()->db->createCommand($sql)->execute();
39 public static function remove($table, $column)
41 if (Yii::app()->db->driverName ==
'oci') {
42 $table = Yii::app()->db->getSchema()->getTable($table,
true);
43 $sequenceName = $table->name .
'_' . substr($column, 0, 3) .
'_s';
44 $triggerName = $sequenceName .
'_t';
46 $sql =
"drop trigger $triggerName";
47 Yii::app()->db->createCommand($sql)->execute();
49 $sql =
"drop sequence $sequenceName";
50 Yii::app()->db->createCommand($sql)->execute();