Consultor Eletrônico



Kbase 16026: Difference in SQL Vs. Data Dictionary Created Tables
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/2/2008
Status: Verified

GOAL:

Why a table created with the Data Dictionary cannot be maintained by the SQL language and the other way around

FACT(s) (Environment):

Progress 9.x
Progress SQL92

FIX:

The reason is that the SQL is not fully compatible with the Progress Data Dictionary. Some important restrictions to keep in mind:

1) In SQL you cannot create a field with extents. (ANSI 89)

2) In SQL you cannot manipulate the tables with a blank user-id
because this is not known in the SQL standard.

3) Because of this user-id only the user who created the table can
alter it.

4) The tables can be altered by other users if the creator of the
table grants some privileges to these other users. This mechanism
is not known to the 4GL except implementing security thru
Data-Administration, but this is not based on the same principle.

To keep track of what tables are SQL-created or created through the
Data Dictionary, Progress sets a flag in the hidden table, _file. The field is called _DB-LANG and has value 0 for Data Dictionary creation and value 1 for SQL creation.

Finally, tables created in SQL can be manipulated through the Data Dictionary on fields that are not SQL-maintained (For example, help-fields, description, etc.).