T
Thomas Wurl
Guest
OpenEdge currently doesn't have an 'IN' operator like SQL has. Example: SELECT * FROM customer WHERE state IN ('MA', 'NY', 'FL'). There are some ways to do this in OpenEdge: 1) FOR EACH customer WHERE LOOKUP(state,"MA,NY,FL") 0 This always results in a table scan. There may also be formatting issues which non character fields like decimal keys like dynamics obj fields. 2) FOR EACH customer WHERE (state = 'MA' OR state = 'NY' OR state = 'FL') if there is an index on state the second query would be indexed. This also supports passing the values in the right datatype without formatting issues. But If we have *many* values and if we generate the statement then there may be a problem with the statement length (long field name and long value like guid). The query string is a character and not a longchar and limited to about 32k characters. What do you think. Are you missing this too? @development: do you already have this on your list? 
Continue reading...
Continue reading...