Subject Re: [firebird-support] ALTER PROCEDURE problem
Author Paul Vinkenoog
Hi Dan,

> I am trying to alter a table and two procedures in a FB 2.1.0.17798
> database.

> I can add a field to the table and alter the 'put' procedure, but when
> I try to alter the 'get' procedure, I get this:
> "Project DBTest.exe raised exception class EIBInterBaseError with message
> 'Dynamic SQL Error SQL error code = -104 Token unknown - line 1,
> column 183 ?'.
> Process stopped. Use Step or Run to continue."

> This is the alter statement:
> ALTER PROCEDURE GETTABLE1DATA RETURNS( F1 INTEGER, F2 VARCHAR(20)
> CHARACTER SET WIN1251, F3 varchar(10) CHARACTER SET WIN1251) AS
> BEGIN for Select * from table1 into :F1, :F2, :F3 Do
> SUSPEND; END;

If I remove the line endings, column 183 is exactly at the beginning of :F1

Evidently, the client program you use alters the colons+varnames to question
marks, as if it concerned a parameterized statement. This causes the error.

> Helen B said it was the ending colon. I get the same error without the
> colon.

Yes, but she was still right :-)
You would have gotten another error later because of that semicolon.

> I am using Delphi 6 and TIbQuery.

Ah, OK. Did you assign the statement to the SQL property, and if so, how?
In code, or via the object inspector? Wait a minute, never mind: set your
TIBQuery's ParamCheck to false and the problem should be gone.
Please let us know.


Hope this helps,
Paul Vinkenoog