note 11981 deleted from ref.oracle by danbrown

From: Date: Fri, 28 Nov 2008 22:25:08 +0000
Subject: note 11981 deleted from ref.oracle by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-147333@lists.php.net to get a copy of this message
Note Submitter: jjuffermans at chello dot com ---- The following function returns more detailed information about the columns of a table. It returns an array of hashes, with columnname, type, size, precision, scale, nullable, comments and constraints. function columninfo($cursor, $table) { $query = "SELECT"; $query .= " user_tab_columns.column_name,"; $query .= " user_tab_columns.data_type,"; $query .= " user_tab_columns.data_length,"; $query .= " user_tab_columns.data_precision,"; $query .= " user_tab_columns.data_scale,"; $query .= " user_tab_columns.nullable,"; $query .= " user_col_comments.comments,"; $query .= " (SELECT"; $query .= " constraint_name"; $query .= " FROM user_cons_columns"; $query .= " WHERE column_name = user_tab_columns.column_name)"; $query .= " FROM user_tab_columns,"; $query .= " user_col_comments"; $query .= " WHERE user_tab_columns.table_name = '$table'"; $query .= " AND user_tab_columns.column_name = user_col_comments.column_name"; $query .= " ORDER BY user_tab_columns.column_id ASC NULLS FIRST"; ora_parse($cursor, $query) or die("<hr /><h2 style=\"color:#ff0000\">" . ora_error($cursor) . "</h2><tt>$query</tt>"); ora_exec($cursor) or die("<hr /><h2 style=\"color:#ff0000\">" . ora_error($cursor) . "</h2><tt>$query</tt>"); $ret_array = array(); while (ora_fetch($cursor)) { $column_name = strtolower(ora_getcolumn($cursor, 0)); $data_type = ora_getcolumn($cursor, 1); $data_length = ora_getcolumn($cursor, 2); $data_precision = ora_getcolumn($cursor, 3); $data_scale = ora_getcolumn($cursor, 4); $nullable = ora_getcolumn($cursor, 5); $nullable = ($nullable == "Y"); $comments = ora_getcolumn($cursor, 6); $constraint_name = strtolower(ora_getcolumn($cursor, 7)); if ($data_precision) { $data_length = $data_precision + (($data_scale) ? 1 : 0); } $ret_array[] = array( "column_name" => $column_name, "data_type" => $data_type, "data_length" => $data_length, "data_precision" => $data_precision, "data_scale" => $data_scale, "nullable" => $nullable, "comments" => $comments, "constraint_name" => $constraint_name ); } return $ret_array; }

« previous php.notes (#147333) next »