I'm looking to make sure that all queries in a php web application have proper use of bind variables to minimize parsing of the queries.
I'm wondering how Oracle parses queries that compares a column to a list of values. Will Oracle consider these statements to be the same, or must the list be inside bound variables?
select char from alphabet where char not in ('a', 'b');
select char from alphabet where char not in ('c', 'd');
If the contents of the list must be in a bind variable, can it be done with a single variable, or must one put each item on the list in a separate variable?
select char from alphabet where char not in (:list);
select char from alphabet where char not in (:c1, :c2);
If the latter is true, will queries with a different number of items in the list still be considered to have the same structure?
select char from alphabet where char not in (:c1, :c2);
select char from alphabet where char not in (:c1, :c2, :c3);