> OK, Action was a bad choice of field name, but this was not ourselves but > the company that > provides this software, iSoft. > Is the only option then to change the database to dialect 3? > Is that possible?
Yes in general, it's a property at database level, but in practice, it's more complicated, because: - The DATE data type only holds the date portion while in dialect 1 it is date and time - Using double-quotes for string delimiters fails in dialect 3, because dialect 3 treats them as object names instead of string literals - Numeric representation changed etc ... Switching to dialect 3 usually means: - Migrating data to dialect 3 - Entirely re-test the application I wonder if you can do a simple: select action from audit_trial In a Firebird 1.5 database? That said, I can't remember if ACTION is a reserved keyword in 1.5. -- With regards, Thomas Steinmaurer * Upscene Productions - Database Tools for Developers http://www.upscene.com/ * My Blog http://blog.upscene.com/thomas/index.php * Firebird Foundation Committee Member http://www.firebirdsql.org/en/firebird-foundation/ > RBS > > On Tue, Nov 15, 2011 at 8:49 AM, Bart > Smissaert<[email protected]>wrote: > >> > Use non-reserved keywords as object names in a dialect 1 database >> >> Is there a way to do that? >> >> RBS >> >> On Tue, Nov 15, 2011 at 8:43 AM, Thomas Steinmaurer<[email protected] >>> wrote: >> >>> ** >>> >>> >>> > Running Firebird 1.5, classic, dialect 1 on Windows and trying to >>>> create a trigger like this: >>>> >>>> CREATE TRIGGER EXTENDED_TEXT_DEL FOR EXTENDED_TEXT >>>> ACTIVE BEFORE DELETE >>>> POSITION 10 >>>> AS >>>> begin >>>> insert into audit_trail >>>> (Table_Id,"Action",Primary_Key,data) >>>> values (45, 1, >>>> old.Extended_Text_Type||"|"|| >>>> old.Foreign_Id||"|"|| >>>> old.Extended_Text_Sequence_No, >>>> old.Extended_Text_Type||"|"|| >>>> old.Foreign_Id||"|"|| >>>> old.Extended_Text_Sequence_No||"|"|| >>>> old.Free_Text >>>> ); >>>> END >>>> >>>> which will give the following error: >>>> >>>> Dynamic SQL Error >>>> SQL error code = -817 >>>> Metadata update statement is not allowed by the current database SQL >>> dialect 1. >>>> >>>> Note the double quotes around the field name Action. >>>> >>>> Any idea how I can run this statement? >>> >>> You can't with dialect 1. Delimited identifiers are supported by dialect >>> 3. Use non-reserved keywords as object names in a dialect 1 database. >>> >>> -- >>> With regards, >>> Thomas Steinmaurer >>> >>> * Upscene Productions - Database Tools for Developers >>> http://www.upscene.com/ >>> >>> * My Blog >>> http://blog.upscene.com/thomas/index.php >>> >>> * Firebird Foundation Committee Member >>> http://www.firebirdsql.org/en/firebird-foundation/ >>> >>> >>> >> >> > > > [Non-text portions of this message have been removed] > > > > ------------------------------------ > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > Visit http://www.firebirdsql.org and click the Resources item > on the main (top) menu. Try Knowledgebase and FAQ links ! > > Also search the knowledgebases at http://www.ibphoenix.com > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > Yahoo! Groups Links > > >
