I was using the grammar from post: SQL lex yacc grammar
When i analyze the gammar I saw that every "select statement" has to preceed by a cursor.
I saw that oracle database puts a implicit cursor (in case that you dont declare it explicit).
EDIT:
Look ate this doc:
http://docs.oracle.com/cd/E11882_01/appdev.112/e17126/cursor_for_loop_statement.htm
select_statement
SQL SELECT statement (not PL/SQL SELECT INTO statement). For select_statement, PL/SQL declares, opens, fetches from, and closes an implicit cursor. However, because select_statement is not an independent statement, the implicit cursor is internal—you cannot reference it with the name SQL.
http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/sql_cursor.htm
SQL (Implicit) Cursor Attribute
A SQL (implicit) cursor is opened by the database to process each SQL statement that is not associated with an explicit cursor. Every SQL (implicit) cursor has six attributes, each of which returns useful information about the execution of a data manipulation statement.
Is it normal in other databases?
Thanks