SQL::Translator::Schema::Procedure.3pm

Langue: en

Version: 2010-06-03 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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 Youens-Clark <kclark@cshl.org>, Paul Harrington <Paul-Harrington@deshaw.com>.