× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Anyone tired of SQL questions from me yet?

I have the following embedded in a program (it's RPG, but I assume the
answer will be applicable to any language, hence the midrange list instead
of the RPG list):

Exec SQL Select Coalesce(Min(INVDT),'0001-01-01'),
Coalesce(Max(INVDT),'0001-01-01'),
Coalesce(Count(*),0)
Into :BgnDat,
:EndDat,
:TotRecs
From SLSALL;

My question is, is there a way to not hardcode the file name SLSALL? It
doesn't accept a host variable there, like :FileName. I tried setting it up
with dynamic SQL, parameter markers, and PREPARE, like this:

ActSQL = 'Select Coalesce(Min(INVDT),' + @Q + '0001-01-01' + @Q + ')' +
', Coalesce(Max(INVDT),' + @Q + '0001-01-01' + @@ + ')' +
', Coalesce(Count(*),0) ' +
'Into ?, ? , ? From ?';

Exec SQL Prepare Stmt1 from :ActSQL;

but then couldn't figure out how to execute it. The EXECUTE IMMEDIATE
doesn't like USING. All the examples I found in this regard use a cursor.

I 'spose you're going to tell me, again, this is something not to be done.
<g>

Thanks.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.