NAME

SQL::Translator::Producer::SQLServer - MS SQLServer producer for SQL::Translator

SYNOPSIS

use SQL::Translator;

my $t = SQL::Translator->new( parser => '...', producer => 'SQLServer' );
$t->translate;

DESCRIPTION

WARNINGB This is still fairly early code, basically a hacked version of the Sybase Producer (thanks Sam, Paul and Ken for doing the real work ;-)

Extra Attributes

field.list

List of values for an enum field.

TODO

* !! Write some tests !!
* Reserved words list needs updating to SQLServer.
* Triggers, Procedures and Views DO NOT WORK

SQLServer Create Table Syntax

TODO

# Text of view is already a 'create view' statement so no need to
# be fancy
foreach ( $schema->get_views ) {
    my $name = $_->name();
    $output .= "\n\n";
    $output .= "--\n-- View: $name\n--\n\n" unless $no_comments;
    my $text = $_->sql();
    $text =~ s/\r//g;
    $output .= "$text\nGO\n";
}

# Text of procedure already has the 'create procedure' stuff
# so there is no need to do anything fancy. However, we should
# think about doing fancy stuff with granting permissions and
# so on.
foreach ( $schema->get_procedures ) {
    my $name = $_->name();
    $output .= "\n\n";
    $output .= "--\n-- Procedure: $name\n--\n\n" unless $no_comments;
    my $text = $_->sql();
  $text =~ s/\r//g;
    $output .= "$text\nGO\n";
}

SEE ALSO

SQL::Translator.

AUTHORS

Mark Addison <grommit@users.sourceforge.net> - Bulk of code from Sybase producer, I just tweaked it for SQLServer. Thanks.