NAME
Oracle::DDL - Perl class for Oracle batch DML
SYNOPSIS
use Oracle::DDL;
my %cfg = ('conn_string'=>'usr/pwd@db', 'table_name'=>'my_ora_tab');
my $ot = Oracle::DDL->new;
# or combine the two together
my $ot = Oracle::DDL->new(%cfg);
my $sql= $ot->prepare(%cfg);
$ot->execute(); # actually create the audit table and trigger
DESCRIPTION
This class contains methods to create audit tables and triggers for Oracle tables.
Object Constructor
new (%arg)
Input variables:
$cs - Oracle connection string in usr/pwd@db
$tn - Oracle table name without schema
Variables used or routines called:
None
How to use:
my $obj = new Oracle::DDL; # or
my $obj = Oracle::DDL->new; # or
my $cs = 'usr/pwd@db';
my $tn = 'my_table';
my $obj = Oracle::DDL->new(cs=>$cs,tn=>$tn); # or
my $obj = Oracle::DDL->new('cs',$cs, 'tn',$tn);
Return: new empty or initialized Oracle::DDL object.
METHODS
The following are the common methods, routines, and functions defined in this class.
Exported Tag: All
The :all tag includes all the methods or sub-rountines defined in this class.
use Oracle::DDL qw(:all);
add_primary_key($dbh, $tab, $pk, $exe)
Input variables:
$dbh - database handler
$tab - table name
$pk - primary key column name
$exe - whether to execute the SQL statement
0 - No (default); 1- Yes.
Variables used or routines called:
echoMSG - display message
How to use:
$self->add_primary_key(4dbh, 'my_tab', 'id');
Return: 0|1 - whether it is successful 0 - OK; 1 - failed
create_table($tab,$crf,$opt)
Input variables:
$tab - table name
$crf - array ref containing table definition as $crf->[$i]{$itm},
where $i is column number and $itm is col,typ,req,wid,dft,etc.
$opt - other table related options:
dbh - database handler
fn_sql - output file name for SQL codes
fn_log - log file name for spool off and default to
fn_sql with the extension replaced with .log
fh_sql - output file handler for SQL codes
action - whether to return SQL codes
SQL (default) - return array ref containing SQL codes
execute SQL codes if dbh is specified
TXT - return SQL codes in text and write SQL codes to
output file if fn_sql or fh_sql is specified.
ALL - return SQL codes and
write to output file if fn_sql or fh_sql is specified
execute SQL statements if dbh is specified
public_select - 1 or actual grant statement
drop_table - 1 - drop before creating it; 0 - not drop
relax_constraint - 0 - no; 1 - yes
Variables used or routines called:
echoMSG - display message
How to use:
my $cs = 'usr/pwd\@db';
my $dbh = get_dbh($cs);
my $fh = new IO::File "> myfile.sql";
my %opt = (dbh=>$dbh, fh_sql => $fh,action=>'txt');
my $crf = $self->read_tab_def('table.def', 'myTab',',');
my $sql = $self->create_table('myTab',${$crf}{mytab},\%opt);
Return: the result of table creation or the SQL code for creating the table.
HISTORY
Version 0.10
This version is to test the concept.
Version 0.2
SEE ALSO (some of docs that I check often)
Oracle::Loader, Oracle::Trigger, Oracle::DML, Oracle::DML::Common, CGI::Getopt, File::Xcopy
AUTHOR
Copyright (c) 2005 Hanming Tu. All rights reserved.
This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 342:
You forgot a '=back' before '=head1'