DBIx-Declare

declare the database access object, specify the sql/stored proc names, arguments and return and have the code generated for you

  use DBIx::Declare
	MyDB => {
		data_source  => "dbi:ODBC:Driver=SQL Server;Server=Some;Database=MyDB",
		type => 'MSSQL',
		user => '...',
		pass => '....',
		attr => { 'RaiseError' => 0, 'AutoCommit' => 1, LongReadLen => 65536 },
		case => 'sensitive',
		methods => {
			get_site_entry_by_id => {
				sql => "SELECT * FROM sites WHERE SiteId = ?",
				args => [ qw(id) ],
				return => '%', # only one row
			},
			get_people_entry_by_last_name => {
				sql => "SELECT * FROM people WHERE last_name = ?",
				args => [ qw(name) ],
				return => '@%', # multiple rows
			},
			# Although not really recommended, you can also change the database schema
			drop_table => {
				sql => "DROP TABLE ?",
				args => [ qw(table) ],
				return => '$',
				noprepare => 1, # For non-prepareable queries
				noquote => 1, 	# For non-quoteable arguments (like table names)
			},

			GetATSName => {
				return => '$',
			},
			GetSiteName => {
				defaults => {
					SiteID => 3,
				},
				return => '$$',
			},
		},
	};

  my $db = MyDB->new();

  my $SiteName = $db->GetSiteName( 457 );


INSTALLATION

To install this module, run the following commands:

	perl Build.PL
	./Build
	./Build test
	./Build install

SUPPORT AND DOCUMENTATION

After installing, you can find documentation for this module with the
perldoc command.

    perldoc DBIx::Declare

You can also look for information at:

    RT, CPAN's request tracker
        http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-Declare

    AnnoCPAN, Annotated CPAN documentation
        http://annocpan.org/dist/DBIx-Declare

    CPAN Ratings
        http://cpanratings.perl.org/d/DBIx-Declare

    Search CPAN
        http://search.cpan.org/dist/DBIx-Declare


COPYRIGHT AND LICENCE

Copyright (C) 2009 Jenda Krynicky

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.