Module: OCI8::Metadata

Defined in:
lib/oci8/metadata.rb,
ext/oci8/metadata.c

Overview

OCI8 can describe database object's metadata.

[user objects] OCI8#describe_any(object_name) [table or view] OCI8#describe_table(table_name, table_only = false) [view] OCI8#describe_view(view_name) [procedure] OCI8#describe_procedure(procedure_name) [function] OCI8#describe_function(function_name) [package] OCI8#describe_package(package_name) [type] OCI8#describe_type(type_name) [synonym] OCI8#describe_synonym(synonym_name, check_public_also = false) [sequence] OCI8#describe_sequence(sequence_name) [schema] OCI8#describe_schema(schema_name) [database] OCI8#describe_database(database_name)

The name can be supplied as 'OBJECT_NAME' or 'SCHEMA_NAME.OBJECT_NAME'. For example: 'emp', 'scott.emp'.

Retrieving Column Datatypes for a Table

conn = OCI8.new('ruby', 'oci8') table = conn.describe_table('EMPLOYEES') table.columns.each do |col| if col.char_used col_width = col.char_size else col_width = col.data_size end end

Defined Under Namespace

Classes: ArgBase, Argument, Base, Collection, Column, Database, Function, List, Package, ProcBase, Procedure, Schema, Sequence, Synonym, Table, Type, TypeArgument, TypeAttr, TypeMethod, TypeResult, Unknown, View