Exemplo n.º 1
0
 function CreateTableSQL($tabname, $flds, $tableoptions = false)
 {
     $sql = ADODB_DataDict::CreateTableSQL($tabname, $flds, $tableoptions);
     if (7.3 > (double) @$this->serverInfo['version']) {
         foreach ($flds as $fld) {
             $fld = _array_change_key_case($fld);
             $isAutoInc = false;
             foreach ($fld as $attr => $v) {
                 switch ($attr) {
                     case 'AUTOINCREMENT':
                     case 'AUTO':
                         $isAutoInc = true;
                         break;
                     case 'NAME':
                         $fname = $v;
                         break;
                 }
             }
             if (isset($fname) && $isAutoInc) {
                 // This field is an AUTOINCREMENT. Create a sequence
                 // for it.
                 $sequenceName = $this->makeObjectName($tabname, $fname, 'seq');
                 array_unshift($sql, "CREATE SEQUENCE {$sequenceName}");
                 array_push($sql, "ALTER TABLE {$tabname} ALTER COLUMN {$fname} SET DEFAULT nextval('{$sequenceName}')");
             }
         }
     }
     return $sql;
 }