Skip to Main Content

SQL & PL/SQL

Append Tablename dynamically for Insert Statements

User_FRTCMMar 31 2014 — edited Mar 31 2014

Hi,

I need a hand on this issue as it is critical for the phase we are in of our project.

Scenario :-

We have about 200 products which are having 10 tables each. Each Product is having the same name of tables but the columns differ for each product.

For example,

My Product 'Alfa' has a table XYZ which is having columns as 1,2,3,4,5,6,7,8,9,10 while the other product 'Beta' has table XYZ with columns as 1,2,3,4,5,11,12,13,14,15.

There are other tables also as XYZ like PQR, UVW etc ( 10 for each product ) which are common for all 200 products but the columns inside these tables are different.

I hope am clear with the scenario.

Current Architecture :-

Source (Oracle) - VB Codes - Destination (Access MDBs - Product Wise)

Each Access MDB is having 10 tables for each product coz of which same tablename have been maintained across all the products.

Note: The Tables are same for all products, its only the columns that are changing for each product.

Architecture After Migration :-

Source (Oracle) - PL/SQL Package + Procedures - Destination (Oracle - Tables in the form of <Product>_<tablename>)

I need help on the below :-

Insert into <Product>_<tablename> values () where Product has to be appended dynamically for each product.

I want to have Product ID as a changing dynamic value like

Insert into Alfa_XYZ values();

Insert into Beta_XYZ values();

Kindly suggest me a solution, I am trying from my end too. It would be appreciable if you could share a sample query/procedure/function to do this.

Thanks

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 28 2014
Added on Mar 31 2014
20 comments
647 views