× 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.



Occasionally I find that when trying to do an UPDATE or a DELETE using ACS Run SQL Scripts, I will get a syntax error which prevents the operation, but if I copy and paste the statement string into a green-screen STRSQL session, it works just fine. (This only happens with UPDATE and DELETE, not with SELECT.)

Here is an example:
------------------------------------------------------------------------------------------------------------------------
update rsprdlog set nonprod = 'Y' where derrick# = 'PAG' and block# = 17513;
------------------------------------------------------------------------------------------------------------------------

This is met with the following result (there should have been two rows updated):
----------------------------------------------------------------------------------
SQL State: 0168I
Vendor Code: 362
Message: [SQL0362] Flagging detected an error in the current SQL statement. Cause . . . . . : The SQL statement contains syntax that is not standard at position 41. Recovery . . . : See previous messages in the job log for a more complete description of the error. If conformance to the standard is needed, change the statement to conform and try the request again.
Statement ran successfully, with warnings (3 ms)
0 rows were affected by the statement
----------------------------------------------------------------------------------

Position 41 is the first letter of the conditioning column name "derrick#". And yes, there are spaces between all the words even if they're hard to see.

Job log shows:
----------------------------------------------------------------------------------
At token derrick#, the syntax of the SQL statement deviates from the ANS standard. The previous two tokens were 'Y' and WHERE. One of the tokens may be a reserved word.
----------------------------------------------------------------------------------
Well, yes, WHERE is a reserved word, but what's wrong with it here?
So (a) what am I doing wrong, and (b) if there is an error, why is STRSQL more forgiving?

System is 7.1
ACS is 1.1.7.1 (just updated, but this happened with 1.1.6 as well).

Thanks,
Bill Reed

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.