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