Sql loader master detail tables

Hi
I am trying to load master detail tables using sql loader. I have a sequence in the master table as primary key and have to load primary key in detail table. is there any way i can query up the primary key by name in the control file. please whats the best way to do this.
can i query up the primary key in the master table by the name in detail table which is jan09.
e.g
master data
jan09,description
detail data
jan09,'test1','100,'y'
LOAD DATA
INFILE 'test.data'
insert
INTO TABLE master_table
fields terminated by ',' optionally enclosed by '"' trailing nullcols
(id position(1:2) "myseq.nextval",
code char,
creation_date date sysdate,
last_update_date date sysdate,
into TABLE BDETAILS
fields terminated by ',' optionally enclosed by '"' trailing nullcols
(id number "select id from master_table where code=" || :code
name char,
amt decimal,
flag char
)

Hey Here is what you need.
You will have to understand and test this properly.
It took me quiet some time before i could get to this stage
Here is the test data with all the commands.
As far the ID in the detail table is concerned you have no option but to update that column once the loading is complete.
1) create Table
CREATE TABLE master_table(ID NUMBER,code VARCHAR2(50),creation DATE,last_update DATE);
CREATE TABLE bdetails(ID NUMBER,NAME VARCHAR2(100),amt NUMBER,flag VARCHAR2(10));
ALTER TABLE master_table ADD (chc VARCHAR2(10));2) Create Sequence
CREATE SEQUENCE testseq INCREMENT BY 1;3) CTL FILE
LOAD DATA
INFILE 'c:\sqlldr\test.txt'  /*path of data file */
append
INTO TABLE master_table
when (1) ='M'  /*to check if the record in the data file is a master record */
fields terminated by ',' optionally enclosed by '"' trailing nullcols
(id  expression "testseq.nextval", /*select next value from sequence */
mcol1 filler, /*FILLER keyword is sused to skip first column from data file */
chc,
code  ,
creation "sysdate",
last_update "sysdate"
Into TABLE BDETAILS
when (1) ='D'  /*to check if the record in the data file is a Detail record */
fields terminated by ',' optionally enclosed by '"' trailing nullcols
(id  expression "testseq.currval", /* UNFORTUNATELY THIS PICKS UP THE LAST ID OF THE MASTER RECORD SESSION STUFF GOING ON HERE*/
col1 filler position(1:2),  /* specifying this POSITION(1:2) is very very important as you need to reset the cursor to start of the line for the next record */
name  ,
amt ,
flag )4) SQLLDR Command
sqlldr scott/tiger data=c:\sqlldr\test.txt control=c:\sqlldr\1.ctl
5) data file
M,jan09,description
D,test1,100,y
M,feb09,description1
D,test2,200,x
M,mar09,description2
D,test3,200,xHope this helps you and give you a lead how to proceed.
Cheers!!!
Bhushan

Similar Messages

  • Button enable/disable in Master-Detail table

    I am using JDeveloper 11.1.1.3.0 and I have a page fragment (.jsff) which includes a Master-Detail table and the Master table has 3 buttons that get enabled/disabled based on the specific string within a column say, if the column has value, 'DRAFT', the buttons should be enabled. In all other cases, the buttons should be disabled.
    The above mentioned scenario works in cases where the table has more than one row in the table; but in two cases the buttons don't get enabled even though the column has 'DRAFT' as its value:
         1. when the table first loads with the data populated in the table; clicking on the first row doesn't trigger the buttons, clicking on any other row triggers the buttons
         2. when there is only one row in the table
    To resolve this, I tried looking at the logs for any specific information regarding the buttons getting enabled or disabled. I couldn't find info on setting up a breakpoint for the commandbutton and the disabled property which would enable me to determine whether it is being triggered as soon as the table gets populated or not.
    How can I get the buttons to work per my requirements? Also, can I set breakpoints for the button and/or evaluate disabled property's EL expression?
    Thanks in advance.

    Navaneeth:
    The buttons are part of panelCollection which exists in panelHeader. As the below code demonstrates,
    1. Buttons are defined in the toolbar (t2) in panelCollection (pc1)
    2. Each buttons' partialTrigger is set to the table (md1)
    3. Tables' (md1) partialTrigger is set to the toolbar (t2).
    <af:panelHeader text="#{viewcontrollerBundle.HISTORIC_PANEL_SPECS__TESTER_S}" id="ph2">
            <af:panelCollection id="pc1" styleClass="AFStretchWidth">
              <f:facet name="menus"/>
              <f:facet name="toolbar">
                <af:toolbar id="t2" partialTriggers="t2">
                  <af:commandButton actionListener="#{bindings.promotePanelSpec.execute}"
                                    text="#{viewcontrollerBundle.PROMOTE_PANEL_SPEC}"
                                    id="cb1" icon="/Images/up16.png"
                                    partialTriggers="md1"
                                    disabled='#{bindings.Status!="DRAFT"}'
                                    immediate="true"/>
                  <af:commandButton text="#{viewcontrollerBundle.ADD_TESTER_SPEC}" id="cb2"
                                    partialTriggers="md1"
                                    icon="/Images/action_add.gif"
                                    actionListener="#{bindings.CreateWithParams.execute}"
                                    action="addTestSpec"
                                    disabled='#{bindings.Status!="DRAFT"}'/>
                  <af:commandButton actionListener="#{PanelSpecTesterSpec.deleteTesterSpec}"
                                    text="#{viewcontrollerBundle.REMOVE_TESTER_SPEC}"
                                    id="cb3" partialTriggers="md1 ::pc2:t1"
                                    icon="/Images/delete.png"
                                    disabled='#{bindings.Status!="DRAFT"}'/>
                </af:toolbar>
              </f:facet>
              <f:facet name="statusbar"/>
              <af:table id="md1"
                        rows="#{bindings.PanelSpecTesterSpecView1.rangeSize}"
                        fetchSize="#{bindings.PanelSpecTesterSpecView1.rangeSize}"
                        emptyText="#{bindings.PanelSpecTesterSpecView1.viewable ? 'No data to display.' : 'Access Denied.'}"
                        var="row"
                        value="#{bindings.PanelSpecTesterSpecView1.collectionModel}"
                        rowBandingInterval="0"
                        selectedRowKeys="#{bindings.PanelSpecTesterSpecView1.collectionModel.selectedRow}"
                        selectionListener="#{bindings.PanelSpecTesterSpecView1.collectionModel.makeCurrent}"
                        rowSelection="single" partialTriggers="::t2"
                        filterVisible="true" displayRow="selected"
                        filterModel="#{bindings.ProductIdPanelSpecVersionToolNameQuery.queryDescriptor}"
                        queryListener="#{bindings.ProductIdPanelSpecVersionToolNameQuery.processQuery}">
                <af:column headerText="#{bindings.PanelSpecTesterSpecView1.hints.ProductId.label}"
                           sortProperty="ProductId" sortable="true" id="c39"
                           filterable="true">
                  <af:outputText value="#{row.ProductId}" id="ot28"/>
                </af:column>
                <af:column headerText="#{bindings.PanelSpecTesterSpecView1.hints.Status.label}"
                           sortProperty="Status" sortable="true" id="c43"
                           filterable="true">
                  <af:outputText value="#{row.Status}" id="ot40"/>
                </af:column>
              </af:table>
         </af:panelCollection>
    </af:panelHeader>The fact that the above code works when there are multiple rows tells me that buttons are having trouble reading the first row of the table.
    Also, I changed the displayRow property for the table from "selected" to "first" but no luck either.

  • Polling the master detail table and to update the LAST_UPDATED with SYSDATE

    Hi
    The requirement is polling the master detail table where read_flag is null and has to update the LAST_UPDATED with SYSDATE in both tables.
    Refered the MasterDetail and PollingPureSQLSysdateLogicalDelete samples of SOASuite.
    Used the delete polling strategy in polling process and modified the generated TopLink discriptor as follows.
    set the TopLink -> Custom SQL tab -> Delete tab with the following query
    for master table (RECEIVER_DEPT) :
    update RECEIVER_DEPT set READ_FLAG= 'S' , LAST_UPDATED=sysdate where DEPTNO=#DEPTNO
    set the TopLink -> Custom SQL tab -> Delete tab with the following query
    for Detail table (RECEIVER_EMP):
    update RECEIVER_EMP set LAST_UPDATED=sysdate where EMPNO=#EMPNO
    After deploying the bpel process data is updated in master(RECEIVER_DEPT) table with LAST_UPDATED as sysdate and read_flag as S
    however data is deleted in detail(RECEIVER_EMP) table rather than updated records.

    Xtanto,
    I suggest using JSP / Struts. UIX will be replaced by ADF Faces in JDeveloper 10.1.3 and thus I wouldn't suggest new developments to be started with UIX unless time doesn't allow to wait for ADF Faces. In this case develop UIX in an MVC1 model, using the UIX events for navigation because this model seems more likely to be mgratable, according to the UIX Statement of direction on Otn.
    Back to your question. You can create a search form in JSP that forwards the request to a StrutsData Action to set the scope of teh result set. The read only table can have a link or a button to call the detail page, passing the RoewKey as a string.
    Have a look at the Oracle by Example (OBE) tutorials that contain similar exaqmples.
    Frank

  • SQL *Loader and External Table

    Hi,
    Can anyone tell me the difference between SQL* Loader and External table?
    What are the conditions under we can use SQL * Loader and External Table.
    Thanx

    External tables are accessible from SQL, which generally simplifies life if the data files are physically located on the database server since you don't have to coordinate a call to an external SQL*Loader script with other PL/SQL processing. Under the covers, external tables are normally just invoking SQL*Loader.
    SQL*Loader is more appropriate if the data files are on a different server or if it is easier to call an executable rather than calling PL/SQL (i.e. if you have a batch file that runs on a server other than the database server that wants to FTP a data file from a FTP server and then load the data into Oracle).
    Justin

  • Problem with crude operations in master detail tables

    Hi,
    I have Master-Detail tables in my page and crud operations are there for both the tables. Create/delete/edit are working fine on the master table but i am facing the following problems for the detail table
    1.delete operation is alway referring to the 1st record.
    2.Edit operation is working fine for the 1st time but when i amt trying to edit any other record it's refer to the previous record, if i did the same again then it's pointing to current record.
    Selected row keys and selectionListner and row selection is defined on my detail table as shown below.
    selectedRowKeys="#{bindings.CmSubscriberTerritoryXrefView1.collectionModel.selectedRow}"
    selectionListener="#{bindings.CmSubscriberTerritoryXrefView1.collectionModel.makeCurrent}"
    rowSelection="single"
    Please do need full.

    Hi,
    Thanks for your quick reply.
    I am using JDeveloper 11g. Yes i select the record, i am using a popup for delete operation so i write a button which invoke popup in that popup i am asking confirmation like do you wanted to delete for not. in the OK button i have return logic like
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding =
    bindings.getOperationBinding("Delete2");
    Object result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    return null;
    operationBinding = bindings.getOperationBinding("Commit");
    result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    return null;
    FacesContext fc = FacesContext.getCurrentInstance();

  • Radio button in master-detail tables.

    I work with ADF, Struts, JSP of JDeveloper10G 10.1.2.0.0 (Build 1811).
    My DataPage has two master – detail tables. Master table has “radio button” in each row.
    If click on radio button of master table, information on detal table no change. But with Navigation buttons all right.
    In master table radio looks like this:
    <input type="radio" name="rowKey" value="<c:out value='${Row.rowKeyStr}'/>"
    <c:if test='${Row.currencyString == "*"}'> checked</c:if>/>
    What can i do to relate these tables over radio ?
    Thanks.

    Hi,
    the radio button by itself only sets the row currency but doesn't refresh the page. You will have to enforce a page refresh if master and detail are on the same page so teh detail data can be updated
    Frank

  • Filtering not working for newly added child objects in master-detail table

    Hi,
    I am using Jdeveloper 11.1.1.4 version.
    Problem scenario:
    Filtering of records is not working for newly created child objects in a master-detail scenario.
    Steps to reproduce this issue using HR Schema (using LOCATIONS and DEPARTMENTS table ) :
    1. Create Business components (EO's & VO's ) for LOCATIONS & DEPARTMENTS table)
    1. Create a .jspx page and insert a readonly master table of Locations
    2. Insert a child table (inline-edit table) of Departments and enable filtering
    4. For the child table, drag and drop CreateInsert operation as a toolbar button .
    5. Create a new child record using the toolbar button and enter data .
    6. Filtering on the newly created child record's attributes does not work.
    Please note that the same filter works for existing child records.
    Any suggestions for resolving this issue?
    Thanks,
    Vikas

    Found from Fusion Developer's Guide the following snippet about QBE functionality :
    "+When you create data controls, all data collections will automatically include a Named Criteria node with an All Queriable Attributes criteria. This is the default view criteria that includes all the searchable attributes or columns of the data collection. You cannot edit or modify this view criteria+. "
    So, the question is if the implicit view criteria cannot be edited, how else to set the query execution mode to "Both" ?
    Shouldn't ADF BC support this by default? Is this a bug?
    Note:- If you create a maste-detail table using POJO datacontrols, filter works correctly for newly created child records also .
    This seems to be an issue with ADF-BC datacontrols only.
    Thanks,
    Vikas

  • SQL Loader versus External Table

    If anyone has worked on external tables please let me know your views.

    user637544 wrote:
    for sqlldr i follow the following approach
    1. truncate table
    2. call sqlldr and load records in staging table
    3. check for bad records
    how do i tuncate, call external table and check bad records for external table.As part of the SQL*Loader control file you can tell it to truncate the table as part of the process before it loads in the data.
    The key differences between SQL*Loader and External Tables are:
    1. SQL*Loader is an external utility run from the o/s command line, whereas External tables are usable from within SQL and PL/SQL.
    2. SQL*Loader can only load data up into the database, whereas External tables can allow you to read files and write files (10g onwards)
    3. SQL*Loader has limited control on skipping rows etc. whereas External tables can be queried using SQL and has all the flexibility that SQL can offer.
    4. SQL*Loader requires connection information to the database, whereas External tables are already part of the database
    5. SQL*Loader can only change the source filename through dynamic o/s level scripts, whereas External tables can have the filename changed using an ALTER TABLE ... LOCATION ... command.
    If you want to truncate your staging table before loading it with data from the external table, then you will just have to do that as a seperate step, because the external table is not associated with other tables. Simply truncate the other table and then query the data from the external table into the staging table.
    External tables offer a lot more flexibility than using SQL*Loader.

  • Sql loader or external table

    Hi all good morning.
    can we write a stored procedure that loads a file into the table using sql loader?
    can Java call the above stored procedure?
    regards
    raj
    Edited by: user10887630 on Apr 23, 2009 6:18 AM

    Are you saying the files themselves can't be located on the server? or just that the process for loading the files can't be located on the server.
    If the files themselves cannot reside on the server then you won't be able to use SQL*Loader or External tables from within stored procedures. It would require some clever Java code type stuff to get across to a.n.other machine where the files are stored and get the data.
    Typically it is normal for such files to be located on the server. What reasons do the DBA's give for not wanting them there?
    DBA's say that application specific files cannot be maintained on the Database serverSo what are all the database data files then? They hold data from the applications. ;)

  • How to remove the Detail column programmatically in Master detail table

    Hi,
    I have a master detail table.
    I want to remove the show Hide (Detail) link from the table programmatically based on some serach criteria. Is it possible to do that.
    Thanks in Advance,
    Kaushik Rambhiya

    Set the Vertical Elasticity property of the master frame to Variable.

  • Master-Detail table on the JSF is unable to update the database

    Hi all,
    In my ADF application I am using a master-deatail relationship datasource. I have to enter the detail rows for a master table row and submit the detail rows it should update the
    database. For this I created a master-detail table and dragged the same on to my JSF page as ADF Forms. I created the forms as ADF Form included all the buttons and submit button. I
    dragged CreateInsert operation from the detail table datacontrol on to the detail form. When I enter the detail and click on submit the data is not getting submitted in the database.
    Please help me in this.
    Thankd In Advance.

    There is no such thing as an iPhone 's3'.  There is a 3G which can only be updated to iOS 4.2.1 and a 3GS which can be updated to iOS 6.1.3.
    Which model iPhone is this?
    Identifying iPhone models

  • Search in the Detail of a Master\Detail Table

    Hi everyone.
    I have a master detail table. How can i search in the detail of that table?
    Thanks!

    Assuming your detail is setup using a view link and included as an actively-coordinated view link in the data model, then the detail VO will only display the data for the current master.
    In addition, if that detail has bind variables of its own, you can supply those bind variables values using ExecuteWithParam built-in action. This will further filter that current set of details for the current master.
    For example, imagine DeptView and EmpView.
    You can search the DeptView to find Depts you want, as you navigate between them the EmpView will show only the employees for that current department. Let's say you do this and have Dept = 10 as the current row in the master. The EmpView will show all employees having DEPTNO = 10.
    You can also further filter the detail by using a view criteria or using bind variables. If you're using the latter, then the ExecuteWithParam built-in action gives you a way to supply values to those bind variables and re-executing the query. The query will be a merging of your original query and the additional WHERE clause fragment added by the framework that restricts the rows to only be for the current department.

  • Master-detail table where detail is in a bounded task flow

    Dear all,
    Iam pretty much new to ADF 11g. I have the following question.
    I have a search form(using af:query) created from the View Criteria of a view. The search results are displayed in a master-detail table, since my view has the following form in the data control:
    MasterView ->DetailView
    I would like that the detail table be part of a page fragment of a region of a bounded task flow. And of course, the detail table should be refreshed every time another row is selected in the master table.
    Is this feasible? Because I find difficulties in the following areas:
    1. How to pass a parameter to the bounded task flow that will display the detail table?
    (I suppose that I will need to build a new view to display the DetailView. In the WHERE clause I will have to pass the id of the row clicked in the master table.
    2.How passing the variable to the bounded task flow of the detail table be implemented when clicking the row of the master table? In similar examples I have seen, e.g. in the ADF Code Corner, there is always a submit button that sets a pageFlowScope variable.
    Is my approach feasible or it needs a lot of ADF twisting?
    Edited by: dimitris74 on Sep 12, 2011 6:20 AM

    Hi,
    If you have two different regions in your page for master and details and you want to refresh the child table based on your master row selection then you can use the contextual actions. Raise an event whenever you select a row and send your master-table id as the payload. Have a handler method at the detail page and execute some logic to get the rows for the selected master record.
    I hope it helps you.
    Thanks,
    Lakshman

  • Update records in Master Details table

    Hi,
    I have to update a Master Details table,
    in this case after clicking the edit button user will be forwarded to the Edit page with one Header info & its corresponding Line info(e.g one header info and its 10 line info)
    user can edit header & its line info in the edit page and after clicking save header & line info will be updated to the database header & line table.
    more than one line info should be saved at a time-- is it possible??

    It is possible. Check the OAF dev guide, they have a sample.
    --Shiv                                                                                                                                                                                           

  • Filter on Master Detail tables

    Hi,
    I've just created a simple Master Detail view (both tables) on my jsf page.
    I would like to add a filter above all the master table columns but I can't.
    I have set all the properties linked to Filtering I've seen to "true" (for the table and the columns) but I don't see the header with the filter field.
    I'm just wondering what value I should set in the FilterModel property. When I create a simple table, it's linked to a queryDescriptor, but this doesn't exist for my master table.
    Could anyone help ?
    Thank you.

    Hi,
    here's what happens when you create a filterable table using the table dialog. If you want to apply this manually, then the same steps need to be performed
    - A search binding is added to the executables section in the ADF page definition file of the containing page. The binding is configured by the <searchRegion> metadata element.
    - The queryListener attribute is set to reference the processQuery method that is exposed by the <searchRegion> implementation class
    - The filterModel attribute is set to point to the query descriptor exposed on the ADF hierarchical binding that exists for the table.
    - The filterVisible attribute is set to true to display the filter input components above the table header, as shown in figure 09-4. The filterVisible attribute value can be set using Expression Language, allowing the application developer to dynamically control when a user is allowed to filter the table and when he or she isn’t.
    - The filterable attribute is set to true on the contained columns. To exclude a column from query-by-example, set this property to false.
    I suggest you drop a second instance of the master table to get the bindings created. Copy the settings of the table to the first one. Change the references to the second table binding to point to the first and then delete the second master table. Sounds easier to me
    Frank

Maybe you are looking for

  • Output from JDBC Adapter mapped to multiple message types

    Hi! I face to a problem with the message mapping.. I do select with the JDBC adapter. This statement selects one field of clob type and it already contains a message - XML document. Depending of the type of this message will be done the message mappi

  • Actual Cost Sheet - Controlling

    Hi All, My client is mfg API (active pharmaceutical ingredients) products, whereby in process of mfg, at every stage "Mother Liquior" comes out of the reactor (A residue which can be purified and used further for production). Now since mother liquior

  • What is the thumb64segment.data file, and why so big?

    Ok, I finally got my MacBook Pro (first mac) got all my photos approx.7-8k worth into iPhoto. Can someone tell me what are the: thumb64segment.data thumb32segment.data thumbJPGsegment.data files and why are they in hundreds of MB, and one is ~1.5GB?

  • Using ipod

    I was wondering if you can connect an ordinary ipod to normal windows pc and not apple mac because I dont have a mac

  • Why was I charged?

    I put my phone on hold for 35 days, but I was still charged for that time period.  Why?