Index: branches/version-2_11-dev/data/class/SC_Query.php
===================================================================
--- branches/version-2_11-dev/data/class/SC_Query.php	(revision 21371)
+++ branches/version-2_11-dev/data/class/SC_Query.php	(revision 21372)
@@ -455,10 +455,13 @@
      * @param string $table テーブル名
      * @param array $sqlval array('カラム名' => '値',...)の連想配列
+     * @param array $arrSql array('カラム名' => 'SQL文',...)の連想配列
+     * @param array $arrSqlVal SQL文の中で使用するプレースホルダ配列
      * @return
      */
-    function insert($table, $sqlval) {
+    function insert($table, $sqlval, $arrSql = array(), $arrSqlVal = array()) {
         $strcol = '';
         $strval = '';
         $find = false;
+        $arrVal = array();
 
         if(count($sqlval) <= 0 ) return false;
@@ -471,8 +474,16 @@
             } else {
                 $strval .= '?,';
-                $arrval[] = $val;
+                $arrVal[] = $val;
             }
             $find = true;
         }
+
+        foreach($arrSql as $key => $val) {
+            $strcol .= $key . ',';
+            $strval .= $val . ',';
+        }
+
+        $arrVal = array_merge($arrVal, $arrSqlVal);
+
         if(!$find) {
             return false;
@@ -483,5 +494,5 @@
         $sqlin = "INSERT INTO $table(" . $strcol. ") VALUES (" . $strval . ")";
         // INSERT文の実行
-        $ret = $this->query($sqlin, $arrval, false, null, MDB2_PREPARE_MANIP);
+        $ret = $this->query($sqlin, $arrVal, false, null, MDB2_PREPARE_MANIP);
 
         return $ret;
