[s2container-php5:31] S2Daoでのinsertについて

Eishi Kuroda kuroda @ jetsetrecords.net
2006年 6月 15日 (木) 14:07:38 JST


はじめまして。

s2container.php5を一度使用してみようと思い、
下記の環境にて、簡単な処理を書いています。

s2container.php5-1.1.0
s2dao.php5-1.1.0-rc3

MySQL 4.1.12
PHP 5.1.2
windows 2000

あるテーブル(emp)から、全てのレコードを他のテーブル(emp2)にコピーしたいと
思うのですが、s2container+s2daoで
下記のようなクエリを発行するにはどのようにすればよいのでしょうか?

insert into emp2 (empno, ename, job, mgr, hiredate, sal, comm, deptno)
select empno, ename, job, mgr, hiredate, sal, comm, deptno from emp

試しに下記の様にEmp2Daoに記述して
insertEmpToEmp2()を呼び出しても上手く行きません。

<?php
interface Emp2Dao 
{
    const BEAN = "Emp2Entity";
      
    const insertEmpToEmp2_SQL 
    = "insert into emp2 (empno, ename, job, mgr, hiredate, sal, comm, deptno) select empno,ename, job, mgr, hiredate, sal, comm, deptno from emp";
    public function insertEmpToEmp2();
}
?>

これを諦めて、一旦Emp2DaoのfindAllArray()で全レコードを取得してから、
empテーブルにinsertしていこうとも考えましたが、
レコード数が、例えば数万件以上になると、
非常に時間が掛かってしまい現実的ではありませんでした。
そもそも、この手のことをS2Daoでやろうという考えがおかしいのでしょうか?

非常に初歩的な質問かもしれませんが、よろしくお願いいたします。

黒田映史



S2Container-PHP5 メーリングリストの案内