Oracle::DDL - Perl class for Oracle batch DML |
Oracle::DDL - Perl class for Oracle batch DML
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
This class contains methods to create audit tables and triggers for Oracle tables.
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.
The following are the common methods, routines, and functions defined in this class.
The :all tag includes all the methods or sub-rountines defined in this class.
use Oracle::DDL qw(:all);
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.
Oracle::Loader, Oracle::Trigger, Oracle::DML, Oracle::DML::Common, CGI::Getopt, File::Xcopy
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)
Oracle::DDL - Perl class for Oracle batch DML |