Dear Peter,
I want to complement about another purpose.
This is that declaring an SQL identifier.
In the oracle (and maybe DB2), the following example is not allowed:
...
EXEC SQL DECLARE cursor CURSOR FOR stmt;
^^^^
EXEC SQL PREPARE stmt FOR "SELECT ..."
...
This is caused because these preprocessor cannot recognize stmt as an SQL identifier and
throw an error.
I think DB2 might focus on here, so AT clause is not important for them.
But ECPG can accept these sentences, so it has no meaning for postgres.
That is why I did not mention about it and I focused on the omission of AT clause.
Hayato Kuroda
Fujitsu LIMITED