Please be aware that the content in SAP SQL Anywhere Forum will be migrated to the SAP Community in June and this forum will be retired.

I try to found some information about limitations of used a SELECT using FOR READ ONLY on subqueries (Ultralite), everytime i try this an error occurs:

Syntax error near 'FOR' [SQL Offset: 1735] SQLCODE=-131, ODB 3 STATE="4200"

Select example:

SELECT COUNT(*) as groupCount FROM (SELECT name FROM table FOR READ ONLY ) AS DS (name)

This really don't work? why?

asked 12 Mar '13, 09:41

Tadeu%20Araujo's gravatar image

Tadeu Araujo
66124
accept rate: 0%


Short answer: Subqueries can't be anything other than read-only, so FOR READ ONLY is superfluous.

The FOR READ ONLY clause is only allowed in an outer SELECT statement, not a subquery, because only a SELECT statement can be used to fetch and update rows in a cursor... in other words, FOR UPDATE and hence FOR READ ONLY make no sense on a subquery... so you'll get the same SQLCODE -131 if you run your query on a SQL Anywhere server.

Here are a couple of examples...

Could not execute statement.
Syntax error near 'READ' on line 5
SQLCODE=-131, ODBC 3 State="42000"
Line 1, column 1

SELECT *
  FROM dummy
 WHERE dummy_col IN ( SELECT dummy_col
                        FROM dummy
                      FOR READ ONLY )

-----

Could not execute statement.
Syntax error near 'UPDATE' on line 5
SQLCODE=-131, ODBC 3 State="42000"
Line 1, column 1

SELECT *
  FROM dummy
 WHERE dummy_col IN ( SELECT dummy_col
                        FROM dummy
                      FOR UPDATE )

permanent link

answered 12 Mar '13, 10:10

Breck%20Carter's gravatar image

Breck Carter
32.5k5417261050
accept rate: 20%

edited 12 Mar '13, 10:19

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×17

question asked: 12 Mar '13, 09:41

question was seen: 2,658 times

last updated: 12 Mar '13, 10:19