Consultor Eletrônico



Kbase P28920: Error 6547 when adding trigger from Data Dictionary
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/20/2003
Status: Unverified

FACT(s) (Environment):

Windows

FACT(s) (Environment):

Progress 9.1D

SYMPTOM(s):

Error 6547 when adding trigger from Data Dictionary

Table <table name> and its indexes can be modified or dropped only by
SQL92. (6547)

Table had been created from SQL Explorer

CAUSE:

Known issue, and a bug is logged for it.

Steps to reproduce, using 9.1D06 on Win2000 -

1. Create an empty test database.
2. Add a table using SQL Explorer:

create table PUB.CUSTOMER(
"CUST-NUM" integer not null,
"NAME" varchar (20) not null,
constraint PK_CUSTOMER
primary key ( "CUST-NUM")
);

2. Add a trigger ON CREATE OF CUSTOMER using the Data Dictionary:

/* begin of trigger */
TRIGGER PROCEDURE FOR CREATE OF CUSTOMER.

message "Creating customer from 4GL"
view-as alert-box message.
/* end of trigger */

3. When trying to the [Save] change in Data Dictionary, the 6547 appears.

But the trigger still gets added ok -

4. Under the Data Dictionary menu do Edit > Commit Transaction. Or select an option from the Tools menu, e.g. Procedure Editor. The message comes up:

You have made changes in the current database, that are not committed.
Do you want to commit your changes?

5. From Procedure Editor run:

create customer.

The trigger fires:

Creating customer from 4GL

FIX:

Steps like those above for creating a trigger are valid. The bug is that the 6547 shouldn't appear. If you use [Close] instead of [Save] or [Ok], the 6547 doesn't appear.