Table Created In SQL

Posted by Roger Blanchard on 13-Jul-2016 09:42

We have a customer that has written an eCommerce interface to our app. They are using a JDBC connection to the OpenEdge DB and are creating required tables in the OpenEdge DB. My understanding (apparently incorrect) was that tables created using SQL cannot be accessed by the ABL. Is this not true? Should I be able to see these tables in the Data Dictionary?

Also, all these tables were created in the schema area. Is there a way to create them in the TYPE II storage areas using SQL?

Thanks in advance.

Posted by Dileep Dasa on 13-Jul-2016 09:48

You can access tables created in SQL from ABL only if they are created in PUB schema.

If the tables are created in PUB schema, they are visible form both ABL (Data Dictionary) and SQL.

You can create tables in Type II areas from SQL as well. While creating tables, you have to use AREA clause. If you do not use AREA clause, by default tables are created in Schema area.

All Replies

Posted by Dileep Dasa on 13-Jul-2016 09:48

You can access tables created in SQL from ABL only if they are created in PUB schema.

If the tables are created in PUB schema, they are visible form both ABL (Data Dictionary) and SQL.

You can create tables in Type II areas from SQL as well. While creating tables, you have to use AREA clause. If you do not use AREA clause, by default tables are created in Schema area.

Posted by Roger Blanchard on 13-Jul-2016 09:50

Thanks for the info.

Posted by gus bjorklund on 13-Jul-2016 10:04

also, don’t forget to use the AREA clause with the CREATE INDEX statement to say where to put the index you are creating.

Posted by Roger Blanchard on 13-Jul-2016 10:19

Is there a way to determine what tables were created using SQL?

Posted by gus bjorklund on 13-Jul-2016 12:38

tables are tables. it makes no difference /how/ they were created and it shouldn’t.

that said, there might be but off the top of my head, i don’t know for sure.

if you look in the schema area and find things with weird names that were system assigned, then they were created by an SQL client. example: if you create a table and specify a primary key in the create table statement (which you should not do).

Posted by n.lewers on 13-Jul-2016 15:02

Thanks Gus, learned about Richard Feynman today. :-).

This thread is closed