develooper Front page | perl.dbi.users | Postings from February 2019

Re: Translate between DBI and SQL

Thread Previous | Thread Next
From:
Peter Vanroose
Date:
February 12, 2019 17:12
Subject:
Re: Translate between DBI and SQL
Message ID:
1549991465925.119188.3806@webmail8
Short answer, assuming you are including hard-coded SQL into a Perl script:
Place the textual SQL, without any additional backslashes or extra quotes or whatsoever,
within the following:

my $sql_text = q(
<here goes your SQL>
);

Unless you have a closing ")" without a preceding opening "(" in that SQL text
(which would normally be invalid SQL)
the above should be valid Perl, resulting in a valid SQL statement in $sql_text
(to be passed to a DBI prepare or so).

In the unlikely event that you would have unbalanced quoted parentheses in your SQL,
you can replace the delimiters for the q operator by something else, viz. something not occurring in your SQL text, e.g.:

my $sql_text = q#
SELECT ')', "col_a"
FROM tblc
ORDER BY "col_a"
#;


-- Peter.


8 februari 2019 23:37:17 +01:00, skrev Mike Martin <redtux1@gmail.com>:

> Has anyone done any work on converting SQL queries between RDBMS and perl?
> 
> My particular interest is DBD::Pg but anything would be of use
> 
> It would be very useful when I am testing complex SQL, it's very easy to miss a \ or quote between the two
>
> Thanks
> Mike
>
>


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About