SQL::Schema::Package::Body - A package's body stored within the database |
SQL::Schema::Package::Body - A package's body stored within the database
my $body = SQL::Schema::Package::Body->new(%attr);
my $sql = $body->create_statement; print $sql;
print "$body";
SQL::Schema::Package::Body
is a class for objects representing a package's
body stored within the database.
The methods of an instanciated object do allow to access the
information within a database's data dictionary and to represent them as SQL
create statements and the like using the proper SQL dialect.
$body = SQL::Schema::Package::Body->new(%attr);
The new method instanciates a package body object. The object is
an in memory representation of a (possible) database package body.
The attributes are given as key value pairs by the hash %attr
.
Possible keys are:
key required? value description
name yes the name of the package without preceeding schema name
text yes the concatenation of all the text lines forming the packag body's source code
As a package body is basically a piece of source stored within the
database, this class inherits all methods from SQL::Schema::Source
.
So please have a look at the new method describet at
the SQL::Schema::Source(3) manpage. Though the new method here overwrites
the new method there, it calls the super class's new method
with just the key value pair for the source's type
added.
$body = SQL::Schema::Package::Body->select($dbh,$name);
The select method fetches the attributes required by new from the database and returns the package body object. (It calls new internally.)
If the package body with the name $name
could not be found within
the database, the method returns undef.
The method's arguments are as follows:
$dbh
$name
The following attribute methods do exist:
$type = $body->type;
The method type
always returns the string ``package body
''.
This package inherits all the other methods from SQL::Schema::Source
as a database package body basically is a special kind of source within
the database. For more information, please have a look at
the SQL::Schema::Source(3) manpage.
SQL::Schema::Package::Body is Copyright (C) 2000, Torsten Hentschel Windmuehlenweg 47 44141 Dortmund Germany
Email: todd@bayleys.ping.de
All rights reserved.
You may distribute this package under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.
DBI(3), the SQL::Schema(3) manpage, the SQL::Schema::Source(3) manpage
SQL::Schema::Package::Body - A package's body stored within the database |