Re: Translate between DBI and SQL
[email protected] ("Peter Vanroose") Tue, 12 Feb 2019 18:11:05 +0100
| Newsgroups | perl.dbi.users |
|---|---|
| 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 <[email protected]>:
> 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
>
>