SQL::Translator::Producer::SQLServer - MS SQLServer producer for SQL::Translator
Contents
Copyright
Copyright (c) 2012 the SQL::Translator "AUTHORS" as listed above.
Description
This is currently a thin wrapper around the nextgen SQL::Translator::Generator::DDL::SQLServer DDL maker.
Extra Attributes
field.list
List of values for an enum field.
License
This code is free software and may be distributed under the same terms as Perl itself.
perl v5.40.0 2024-11-23 SQL::Translator...ucer::SQLServer(3pm)
Name
SQL::Translator::Producer::SQLServer - MS SQLServer producer for SQL::Translator
See Also
SQL::Translator
Synopsis
use SQL::Translator;
my $t = SQL::Translator->new( parser => '...', producer => 'SQLServer' );
$t->translate;
Todo
* !! Write some tests !!
* Reserved words list needs updating to SQLServer.
* Triggers, Procedures and Views DO NOT WORK
# 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";
}
