Edición de «Adapter MsSQL»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 386: | Línea 386: | ||
*/ | */ | ||
public function describe_table($table, $schema=''){ | public function describe_table($table, $schema=''){ | ||
− | $sql = "SELECT A.name as Field, | + | $describe_table = $this->fetch_all("exec sp_columns @table_name = '$table'"); |
− | + | $final_describe = array(); | |
− | + | foreach($describe_table as $field){ | |
− | + | if($field["TYPE_NAME"]=='int identity'){ | |
− | + | $final_describe[] = array( | |
− | + | "Field" => $field["COLUMN_NAME"], | |
− | + | "Type" => "int(".$field['LENGTH'].")", | |
− | + | "Null" => $field['NULLABLE'] == 1 ? "YES" : "NO", | |
− | + | "Key" => 'PRI', | |
− | return $this->fetch_all($sql); | + | 'Default' => $field['COLUMN_DEF'] |
+ | ); | ||
+ | }else{ | ||
+ | $final_describe[] = array( | ||
+ | "Field" => $field["COLUMN_NAME"], | ||
+ | "Type" => $field['LENGTH'] ? $field["TYPE_NAME"] : $field["TYPE_NAME"]."(".$field['LENGTH'].")", | ||
+ | "Null" => $field['NULLABLE'] == 1 ? "YES" : "NO", | ||
+ | "Key" => '', | ||
+ | 'Default' => $field['COLUMN_DEF'] | ||
+ | ); | ||
+ | } | ||
+ | } | ||
+ | return $final_describe; | ||
+ | //$sql = "SELECT A.name as Field, | ||
+ | // (case when A.isnullable=0 then 'NO' when A.isnullable=1 then 'YES' end) as 'Null', | ||
+ | // (case when A.colstat=1 then 'PRI' when A.colstat='' then '' end) as 'Key', | ||
+ | // (case when A.cdefault=0 then 'NULL' when A.cdefault<>0 then '0' end) as 'Default' | ||
+ | // FROM syscolumns A, sysobjects B WHERE A.ID = B.ID AND B.name = '$table'"; | ||
+ | //return $this->fetch_all($sql); | ||
} | } | ||