|
On 12 Feb 2013 10:50, Rettig, Roger wrote:
I have a SQL clause embedded in a RPG program. The statement insertsFWiW, that is the "IN predicate". The SQL "IN" is not a statement;
records directly into a file. In the where clause, I have an 'in'
statement using a variable:
Where pypmtt in :CheckType
the string "IN ..." can not be executed\opened.
using debug the value of checktype = ('CK', 'BT'). This inserts 0The predicate as coded, best I can infer, is:
records.
If I hardcode and replace checktype with ('CK', 'BT'), the program
inserts the the correct records. There are other variables in the
select statement that are not causing issues.
What am I doing wrong?
WHERE pypmtt = ('(''CK'', ''BT'')')
Effectively that predicate is asking for the rows to match a string
that could not possibly match. And FWiW the SQLSTATE likely records a
warning to the effect that "comparison values may never compare equal"
which implies that the comparison value is /longer/ than the data type.
Basically what is required instead, is to code the following, where
the CkTyp## variables are compatible with the column pypmtt:
WHERE pypmtt IN (:CkTyp01, :CkTyp02)
What is returned from the following input used for a Google web
search will likely prove helpful:
"in predicate" "host variables" site:archive.midrange.com
As an Amazon Associate we earn from qualifying purchases.
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.