NAME

SQL::Translator::Schema::Procedure - SQL::Translator procedure object

SYNOPSIS

use SQL::Translator::Schema::Procedure;
my $procedure  = SQL::Translator::Schema::Procedure->new(
    name       => 'foo',
    sql        => 'CREATE PROC foo AS SELECT * FROM bar',
    parameters => 'foo,bar',
    owner      => 'nomar',
    comments   => 'blah blah blah',
    schema     => $schema,
);

DESCRIPTION

SQL::Translator::Schema::Procedure is a class for dealing with stored procedures (and possibly other pieces of nameable SQL code?).

METHODS

new

Object constructor.

my $schema = SQL::Translator::Schema::Procedure->new;

parameters

Gets and set the parameters of the stored procedure.

$procedure->parameters('id');
$procedure->parameters('id', 'name');
$procedure->parameters( 'id, name' );
$procedure->parameters( [ 'id', 'name' ] );
$procedure->parameters( qw[ id name ] );

my @parameters = $procedure->parameters;

name

Get or set the procedure's name.

$procedure->name('foo');
my $name = $procedure->name;

sql

Get or set the procedure's SQL.

$procedure->sql('select * from foo');
my $sql = $procedure->sql;

order

Get or set the order of the procedure.

$procedure->order( 3 );
my $order = $procedure->order;

owner

Get or set the owner of the procedure.

$procedure->owner('nomar');
my $sql = $procedure->owner;

comments

Get or set the comments on a procedure.

$procedure->comments('foo');
$procedure->comments('bar');
print join( ', ', $procedure->comments ); # prints "foo, bar"

schema

Get or set the procedures's schema object.

$procedure->schema( $schema );
my $schema = $procedure->schema;

equals

Determines if this procedure is the same as another

my $isIdentical = $procedure1->equals( $procedure2 );

AUTHORS

Ken Y. Clark <kclark@cshl.org>, Paul Harrington <Paul-Harrington@deshaw.com>.