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'");
(case when A.isnullable=0 then 'NO' when A.isnullable=1 then 'YES' end) as 'Null',
+
$final_describe = array();
(case when A.colorder=1 then 'PRI' when A.colorder>1 then '' end ) as 'Key',
+
foreach($describe_table as $field){
convert(varchar, C.name) + '(' + convert(varchar, (A.length))  + ')' as 'Type',
+
if($field["TYPE_NAME"]=='int identity'){
(case when A.cdefault=0 then 'NULL' when A.cdefault<>0 then '0' end) as 'Default'
+
$final_describe[] = array(
FROM syscolumns A
+
"Field" => $field["COLUMN_NAME"],
left join  sysobjects B on A.id = B.id
+
"Type" => "int(".$field['LENGTH'].")",
left join systypes C on C.xtype = A.xtype
+
"Null" => $field['NULLABLE'] == 1 ? "YES" : "NO",
WHERE  B.name = '$table'";
+
"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);
 
}
 
}
 
      
 
      

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)