using multiple tables in a query in expdp clause

Is it possible to use the table of multiples in a query of expdp option? I'm doing the following and it fails with the message 'Invalid identifier' I use Oracle version 10.2.0.3 10

Settings (x.par)

************************

DIRECTORY = DATA_PUMP_DIR

USERID=XYZ/XYZ@DB1

DUMPFILE = X.DMP

LOGFILE = X.LOG

CONTENT = DATA_ONLY

TABLES = "TAB1".

QUERY = TAB1: "WHERE EXISTS (SELECT 1 FROM TAB2 WHERE TAB2.)" KEYID = TAB1. KEYID).

expdp parfile = x.par

Error

******

ORA-00904: "TAB1". "" KEYID ": invalid identifier

Please share your ideas

Thank you

Great, thank you very much.it very really worked.

Tags: Database

Similar Questions

  • Connection using multiple tables

    Hi there, hoping for some sense here. What I'm trying to do, is to have a login page that essentially looks at several tables. The following page uses a variable to display if the user name and password appear in one of the tables. The most common fields are email_address and password so I used them. How can I have the function of connection DW look at several tables. Is it one AND connect a RC or something else. I tried these bad results. Here is the code:

    ' * Post the request to connect to this site.
    MM_LoginAction = Request.ServerVariables ("URL")
    If <>Request.QueryString "" then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode (Request.QueryString)
    MM_valUsername = CStr (Request.Form ("user_Race"))
    If MM_valUsername <>"" then
    Dim MM_fldUserAuthorization
    Dim MM_redirectLoginSuccess
    Dim MM_redirectLoginFailed
    Dim MM_loginSQL
    Dim MM_rsUser
    Dim MM_rsUser_cmd

    MM_fldUserAuthorization = «»
    MM_redirectLoginSuccess = "enter.asp".
    MM_redirectLoginFailed = "LoginMainRR.asp".

    MM_loginSQL = "SELECT Email_Address, password"
    If MM_fldUserAuthorization <>"" then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
    MM_loginSQL = MM_loginSQL & "RACING_REG AND DRIFT_REG AND OFFROAD_REG AND STREET_REG WHERE Email_Address =? AND password =? »
    Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
    MM_rsUser_cmd. ActiveConnection = MM_toyoracer_STRING
    MM_rsUser_cmd.CommandText = MM_loginSQL
    MM_rsUser_cmd. Parameters.Append MM_rsUser_cmd. CreateParameter ("param1", 200, 1, 255, MM_valUsername) ' adVarChar
    MM_rsUser_cmd. Parameters.Append MM_rsUser_cmd. CreateParameter ("param2", 200, 1, 255, Request.Form ("pass_race")) ' adVarChar
    MM_rsUser_cmd. Prepared = true
    Set MM_rsUser = MM_rsUser_cmd. Run

    If not MM_rsUser.EOF or not MM_rsUser.BOF then
    "correspondence of username and password - this is a valid user.
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <>"") then
    Session("MM_UserAuthorization") = CStr (MM_rsUser.Fields.Item (MM_fldUserAuthorization). Value)
    On the other
    Session("MM_UserAuthorization") = «»
    End If
    If CStr (Request.QueryString ("accessdenied")) <>"" and then false
    MM_redirectLoginSuccess = Request.QueryString ("accessdenied")
    End If
    MM_rsUser.close
    Response.Redirect (MM_redirectLoginSuccess)
    End If
    MM_rsUser.close
    Response.Redirect (MM_redirectLoginFailed)
    End If
    % >

    No matter what direction here would be appreciated... either a response or pointed article somewhere.

    Hi Dooza,

    It worked without a doubt. 'S done it very little coding of SQL in Access. If someone does not want to go that route this right encoding in DW with session variables carrying the fields username and password on the next page also works very well!

    < %="">< br="">' * asked to validate to connect to this site. < br=""> MM_LoginAction = Request.ServerVariables ("URL") < br=""> if Request.QueryString <> "" then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode (Request.QueryString) < br=""> MM_valUsername = CStr (Request.Form ("user_Race")) < br=""> MM_valUsername so <> "" then < br=""> MM_fldUserAuthorization Dim < br=""> MM_redirectLoginSuccess Dim < br=""> Dim MM_redirectLoginFailed < br=""> Dim MM_loginSQL < br=""> Dim MM_rsUser < br=""> Dim MM_rsUser_cmd < br=""> Dim MM_mtype

    MM_fldUserAuthorization = ""< br=""> MM_redirectLoginSuccess = "enter.asp" '.
    MM_redirectLoginFailed = "LoginMainDGD.asp".

    MM_loginSQL = "SELECT Email_Address password"< br=""> MM_fldUserAuthorization so <> "" then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization < br=""> MM_loginSQL = MM_loginSQL & "OF Email_Address WHERE DRIFT_REG =?" AND password =? »< br="" >="" set="" mm_rsuser_cmd="Server.CreateObject">
    MM_rsUser_cmd. ActiveConnection = MM_toyoracer_STRING< br="" >="" mm_rsuser_cmd.commandtext="MM_loginSQL">< br="" >="" mm_rsuser_cmd.="" parameters.append="" mm_rsuser_cmd.="" createparameter="" ("param1",="" 200,="" 1,="" 255,="" mm_valusername)="" '="" advarchar="">< br="" >="" mm_rsuser_cmd.="" parameters.append="" mm_rsuser_cmd.="" createparameter="" ("param2",="" 200,="" 1,="" 255,="" request.form("pass_race"))="" '="" advarchar="">< br/>="" mm_rsuser_cmd.="" préparé="true">< br="" >="" set="" mm_rsuser="MM_rsUser_cmd.">

    If Not MM_rsUser.EOF or not MM_rsUser.BOF then < br=""> ' match username and password - this is a valid user

    Session("MM_mtype") = "Drift" < br=""> Session("MM_Username") = MM_valUsername < br=""> if (MM_fldUserAuthorization <> "") then < br=""> Session("MM_UserAuthorization") = CStr (MM_rsUser.Fields.Item (MM_fldUserAuthorization). Value) < br=""> Else < br=""> Session("MM_UserAuthorization") = ""< br=""> End If < br=""> If CStr (Request.QueryString ("accessdenied")) <> ' ' and then false < br=""> MM_redirectLoginSuccess = Request.QueryString ("accessdenied") "."
    End If
    MM_rsUser.close
    Response.Redirect (MM_redirectLoginSuccess)

    On the other

    MM_loginSQL = "SELECT Email_Address, password"
    If MM_fldUserAuthorization <> "" then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
    MM_loginSQL = MM_loginSQL & "OFFROAD_REG WHERE Email_Address =? AND password =? »
    Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
    MM_rsUser_cmd. ActiveConnection = MM_toyoracer_STRING
    MM_rsUser_cmd.CommandText = MM_loginSQL
    MM_rsUser_cmd. Parameters.Append MM_rsUser_cmd. CreateParameter ("param1", 200, 1, 255, MM_valUsername) ' adVarChar
    MM_rsUser_cmd. Parameters.Append MM_rsUser_cmd. CreateParameter ("param2", 200, 1, 255, Request.Form ("pass_race")) ' adVarChar
    MM_rsUser_cmd. Prepared = true
    Set MM_rsUser = MM_rsUser_cmd. Run

    If not MM_rsUser.EOF or not MM_rsUser.BOF then
    "correspondence of username and password - this is a valid user.

    Session("MM_mtype") = 'Offroad '.
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") then
    Session("MM_UserAuthorization") = CStr (MM_rsUser.Fields.Item (MM_fldUserAuthorization). Value)
    On the other
    Session("MM_UserAuthorization") = «»
    End If
    If CStr (Request.QueryString ("accessdenied")) <> ' ' and then false
    MM_redirectLoginSuccess = Request.QueryString ("accessdenied")
    End If
    MM_rsUser.close
    Response.Redirect (MM_redirectLoginSuccess)

    On the other

    MM_loginSQL = "SELECT Email_Address, password"
    If MM_fldUserAuthorization <> "" then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
    MM_loginSQL = MM_loginSQL & "RACING_REG WHERE Email_Address =? AND password =? »
    Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
    MM_rsUser_cmd. ActiveConnection = MM_toyoracer_STRING
    MM_rsUser_cmd.CommandText = MM_loginSQL
    MM_rsUser_cmd. Parameters.Append MM_rsUser_cmd. CreateParameter ("param1", 200, 1, 255, MM_valUsername) ' adVarChar
    MM_rsUser_cmd. Parameters.Append MM_rsUser_cmd. CreateParameter ("param2", 200, 1, 255, Request.Form ("pass_race")) ' adVarChar
    MM_rsUser_cmd. Prepared = true
    Set MM_rsUser = MM_rsUser_cmd. Run

    If not MM_rsUser.EOF or not MM_rsUser.BOF then
    "correspondence of username and password - this is a valid user.

    Session("MM_mtype") = 'Racing '.
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") then
    Session("MM_UserAuthorization") = CStr (MM_rsUser.Fields.Item (MM_fldUserAuthorization). Value)
    On the other
    Session("MM_UserAuthorization") = «»
    End If
    If CStr (Request.QueryString ("accessdenied")) <> ' ' and then false
    MM_redirectLoginSuccess = Request.QueryString ("accessdenied")
    End If
    MM_rsUser.close
    Response.Redirect (MM_redirectLoginSuccess)

    On the other

    MM_loginSQL = "SELECT Email_Address, password"
    If MM_fldUserAuthorization <> "" then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
    MM_loginSQL = MM_loginSQL & "STREET_REG WHERE Email_Address =? AND password =? »
    Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
    MM_rsUser_cmd. ActiveConnection = MM_toyoracer_STRING
    MM_rsUser_cmd.CommandText = MM_loginSQL
    MM_rsUser_cmd. Parameters.Append MM_rsUser_cmd. CreateParameter ("param1", 200, 1, 255, MM_valUsername) ' adVarChar
    MM_rsUser_cmd. Parameters.Append MM_rsUser_cmd. CreateParameter ("param2", 200, 1, 255, Request.Form ("pass_race")) ' adVarChar
    MM_rsUser_cmd. Prepared = true
    Set MM_rsUser = MM_rsUser_cmd. Run

    If not MM_rsUser.EOF or not MM_rsUser.BOF then
    "correspondence of username and password - this is a valid user.

    Session("MM_mtype") = 'Street '.
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") then
    Session("MM_UserAuthorization") = CStr (MM_rsUser.Fields.Item (MM_fldUserAuthorization). Value)
    On the other
    Session("MM_UserAuthorization") = «»
    End If
    If CStr (Request.QueryString ("accessdenied")) <> ' ' and then false
    MM_redirectLoginSuccess = Request.QueryString ("accessdenied")
    End If
    MM_rsUser.close
    Response.Redirect (MM_redirectLoginSuccess)

    End If
    End If
    End If
    End If
    MM_rsUser.close
    Response.Redirect (MM_redirectLoginFailed)
    End If
    %>

  • Update using multiple tables

    I'm sorry for this stupid question. I know it's easy to do, and I tried to search through a search, but does not understand how to do it.

    I'm trying to understand how in Oracle everything that I've done in MS Access for many years.

    I need to update a column in a table with data from a column in another table.

    In Access, I can just make

    Update a.a in b
    where a.link = b.link

    The problem is b.link is unique and a.link is not unique, both in Oracle when I do

    Update one
    a.a value = (select b from b, a where a.link = b.link clause)

    I get the error "row subquery returns more than one line.

    I don't know if I need the place where is the clause, but adding, I still get the same error. I also have the same error if I do a select distinct.

    Can someone help me?

    Hello

    You can try this

    Update a SET = AA (select b b where a.link = b.link)

    Thank you

  • Nested set tables in select query "in the clause of" take long time

    create or replace type t_circuitids is table of the varchar2 (100);

    -Under anonymous block continues to run away and never ends

    DECLARE
    v_circuitid t_circuitids;
    number of v_count;
    l_circuitids VARCHAR2 (4000)
    : = "Value1, value2, value3, value4, Value5";
    BEGIN
    -Query below converts the output concatinated with commas to the list and stores it in the nested table collection v_circuitids
    WITH an ACE
    (SELECT ',' | l_circuitids |) ',' AS circuitid
    THE DOUBLE)
    SELECT DISTINCT TRIM (SUBSTR (circuitid,
    INSTR (circuitid, "," 1, LEVEL) + 1.
    INSTR (circuitid, "," 1, LEVEL + 1)
    -INSTR (circuitid, "," 1, LEVEL)
    -1
    )
    ) cid
    LOOSE COLLECTION v_circuitid
    A
    CONNECT BY LEVEL <
    LENGTH (circuitid)
    -LENGTH (REPLACE (circuitid, ','));

    SELECT COUNT (1)
    IN v_count
    TABLE
    WHERE name IN (SELECT COLUMN_VALUE
    TABLE (v_circuitid));
    END;
    /

    -I had the question, query "SELECT COLUMN_VALUE FROM TABLE (v_circuitid)" that is used in code above is responsible for this.

    -Same code works fine in development and Test environments, but prod it continues to work on

    -I solved this problem by creating a temporary table, loading of all values in the collection in the temporary table and using this temporary table "in the clause" "

    -Can answer why his behavior like this when I use the collection where clause?

    -I use Oracle 9i

    Here is a summary of the question and the solution for this.

    -Nested type to collect multiple values

    CREATE or REPLACE the TYPE t_circuitid IS TABLE OF VARCHAR2 (100);

    Below the code will simply on the run.

    DECLARE
    v_circuitid t_circuitid;
    v_count NUMBER;
    BEGIN
    SELECT nal_name
    LOOSE COLLECTION v_circuitid
    OF fs_head
    WHERE groupid = 10;

    SELECT COUNT (1)
    IN v_count
    OF fs_attrib
    WHERE NAME IN (SELECT COLUMN_VALUE
    TABLE (v_circuitid));

    Dbms_output.put_line (v_count);
    END;
    /

    Cause:-SELECT COLUMN_VALUE TABLE (v_circuitid)); -This request is causing problem

    Why?  : - Because the CBO does not know how many lines is present in the collection, by default it takes 8168 lines

    Note:-always happens, it depends on the volume of data in the table, the path chosen by CBO. In my case, the table is huge on prod compared to DEV so he was causing a problem.

    -The following modified code works very well

    DECLARE
    v_circuitid t_circuitid;
    v_count NUMBER;
    BEGIN
    SELECT nal_name
    LOOSE COLLECTION v_circuitid
    OF fs_head
    WHERE groupid = 10;

    SELECT COUNT (1)
    IN v_count
    OF fs_attrib
    WHERE NAME IN (SELECT / * + cardinality (20 t) * /)
    COLUMN_VALUE
    TABLE (v_circuitid) t);

    Dbms_output.put_line (v_count);
    END;
    /

    Solution:-used as cardinality hint below.

    SELECT / * + cardinality (20 t) * / t COLUMN_VALUE TABLE (v_circuitid);

    Using cadinality I am saying CBO which dataset contains 20 lines or less.

    If it is version of Oracle 10 g and more, we can use below code (CARD utility).

    SELECT COLUMN_VALUE TABLE (CARD ((v_circuitid))

    For more information reach me at [email protected]

    Thank you best regards &,.

    Amarnath a. Reddy.

  • Delete query to delete records from multiple tables

    All,

    I need a delete query that will delete the records from the tables. Please see the structure of the table & below
    CREATE TABLE TEMP1 (ID NUMBER(10),NAME VARCHAR2(40),CLASS VARCHAR2(40),COLLEGE VARCHAR2(40));
    CREATE TABLE TEMP2 (ID NUMBER(10),CITY VARCHAR2(40),STATE(40));
    
    INSERT INTO TEMP1 (ID, NAME,CLASS,COLLEGE) VALUES (1000,'SAM','CS','UNIV_1');
    INSERT INTO TEMP1 (ID, NAME,CLASS,COLLEGE) VALUES (2000,'RIO','CS','UNIV_1');
    INSERT INTO TEMP1 (ID, NAME,CLASS,COLLEGE) VALUES (3000,'CHRIS','CS','UNIV_1');
    INSERT INTO TEMP1 (ID, NAME,CLASS,COLLEGE) VALUES (4000,'ALEX','CS','UNIV_1');
    
    INSERT INTO TEMP2 (ID, CITY,STATE) VALUES (1000,'Auburn','NY');
    INSERT INTO TEMP2 (ID, CITY,STATE) VALUES (2000,'Ithaca','NY');
    INSERT INTO TEMP2 (ID, CITY,STATE) VALUES (3000,'Mount Vernon','NY');
    INSERT INTO TEMP2 (ID, CITY,STATE) VALUES (4000,'Port Jervis','NY');
    Now, I need to delete the records in these tables where the ID is '2000' by using a single delete query. Is this possible? This may be a newbie question. Help, please.

    "using a single request deletion. Is this possible?

    Nope.
    You can insert into multiple tables by using a single query, INSERT ALL job, but you cannot delete more than one table using a single query.

  • Use with need to collect in bulk to insert records from multiple tables

    Hello

    I plsql record type with several tables with multiple columns. so when I used bulk collect with education for ALL. I want to insert records in multiple tables.

    Please give me suggestions.

    ForAll is designed to be used with a single DML statement, which may include dynamic SQL statements. However, I do not know what advantage this will give you your list iteration save several times, one for each table - especially since there is an air show with SQL dynamic.

    Example 1 (dynamic SQL):

    begin

      ...

      forall i in vRecList.First..vRecList.Last
        execute immediate '
        begin
          insert into Table1 (Col1, Col2, Col3) values (:1, :2, :3);
          insert into Table2 (Col1, Col2, Col3) values (:1, :2, :3);
        end;' using vRecList(i).Col1, vRecList(i).Col2, vRecList(i).Col3;
    end;

    Another approach that I should work (but not tested) is using to insert all the Scriptures and based record inserts, but you need to try on your version of Oracle forall has changed between the versions.  In this case vRecList must be compatible with the Table % ROWTYPE and Table2% ROWTYPE type.


    Example 2 (insert all):

    begin

      ...

      forall i in vRecList.First..vRecList.Last

        insert all

          into Table1 values vRecList(i)
          into Table2 values vRecList(i)
        select 1 from dual;

    end;

  • Can I get the total number of records that meet the conditions of a query using the Table API?

    Hello

    A < row > TableIterator is returned when I ask operations using the index of tables. If I want to get the total number of records, I count one by one using the returned TableIterator < row >.


    Can I get the total number of records directly meets the conditions of the query?

    I can get the total number of records directly the request of the meeting of the conditions of CLI using the command Global table - name tableName - count - index index-name-field fieldName - start startValue-end endValue.

    Can I get the same results using the Table API?

    I used MongoDB and NoSQL Oracle for about a year. According to the experience of the use of these dbs, I think mongoDB querying interface is powerful. In the contras, the query interface is relatively simple, which results is a lot of work that is usually a long time in the client side.

    Hello

    Counting records in a database is a tricky thing.  Any system that gives you an accurate count of the records will have a hotspot of concurrency on updates, namely the place where the counting is maintained.  Such a count is a problem of performance in addition to competitive access problem.   The problem is even more difficult in a system widely distributed such a NoSQL database.

    The CLI has overall command that counts, but does so by brutal force - iterate keys that correspond to the parameters of the operation.  This is how you must do this within the API.  There is not a lot of code, but you have to write.  You certainly want to use TableIterator TableAPI.tableKeysIterator (), because a key iteration is significantly faster than the iteration of lines.  Just one iteration and count.

    If you use TableAPI.multiGet () and a key with a touch of brightness full then, in fact, count the results as they are returned in a single piece (a list).

    Kind regards

    George

  • query MySQL (search multiple tables in the database)

    I have 12 tables in a database - January to December.

    I need to find all the tables 'keyworrd' 12 phrases submitted by the user via a search form.

    Need to create a simpler way to do as below with 'UNION '. I have incorporated 2 tables in the query below, but I need a query more "condensed" for all tables of 12?

    $sql = (' SELECT * FROM January WHERE tourTitle = "'.") $keyword. "' UNION SELECT * FROM February WHERE tourTitle = ' '. '" $keyword.' » ") ;

    See you soon

    Operating system

    Booth wrote:

    > That's what I did last year, but thought I would break down this year in 12 easier to work with tables.

    No, Ben is correct. 1 using table for each month is absolutely the wrong way. It violates the basic rules of standardization and causes all sorts of problems.

    > Breaking down appealed to be more so I can keep all these months

    > together instead of potentially become scattered across a table.

    That's what you use the Order By clause for.

    > If by chance the customer says they want to update x, y or z, I can go

    > straight for the month in question, without the need to browse

    > dozens of pages in phpMyAdmin, because there are no real management CMS in place for this process.

    Don't know what you're saying. Performing inserts, updates and queries is much easier using a single table.

    Whenever someone asks for a way to search through more than one table, he told me that the data structure is not well designed.

    When I did this job last year there were about 60 pages created in phpMyAdmin. Records of January could be anywhere on these 60 pages I might add on additional folders much later in the process.

    My thought behind this was to combine all entries of the month so I could view them easily in phpMyAdmin.

    Now, due to my lack of knowledge on phpMyAdmin, it would be possible to create a query to show only entries from January, I suspect that she can do.

    I agree it is much simpler using 1 table to select and browse BUT I need if the opportunity presents itself to be able to view all entries January or February etc. one after another, not 10 on page 2 and 3 on page 7 and 5 more to page 47 of phpMyAdmin.

    So I quess what I really need, it is write a select query in phpMyAdmin that shows only the entries selected for the requested month. I did not much research into what phpMyAdmin can do... so I guess I have to.

    PUBLISHED:

    Arrgh, you see it WAS so SIMPLE:

    SELECT * FROM 'towers' months WHERE = "March".

    It's because I'm afraid of the bloody thing in case I mess up something!

  • How to use a list in a query so that you can sort the list according to an attached table?

    1. my initial query returns the phone numbers with inconsistent structures. Example:

    -555 (555) - 5678

    666-555-5678.

    555.5678 (444)

    1-888-555-5678

    2. I have to loop through the list and perform a certain number of cleaning functions, this is why the list looks like this:

    555-555-5678.

    666-555-5678.

    444-555-5678.

    888-555-5678.

    3. now, I need to use this list in a query, if I can use the first three digits to seek a regional indicative table sign and its link and be able to sort by area code. The indicative table looks like this:

    ThreeDigitCode AreaID

    555                         1

    666                         2

    444                         1

    888                         4

    I need to put the phone in the query list, so I can do a search of the areaID and the comparable information to a table that says AreaID 1 is Eastern and his sort-position is 1, etc..

    Thanks in advance for your advice.

    You can add an empty your query column, when you select the phone

    numbers and use this column to store the ThreeDigitCode:

    SELECT phone_number, '' as threeDigitCode FROM #your_table#
    

    then clean up the numbers and place the 3 digits in others

    column. And then using query of query to join phone numbers with

    area codes:

    
      
    
    
    
      SELECT *
      FROM phone_number
        INNER JOIN area_codes ON area_codes.threeDigitCode =
    phone_number.threeDigitCode
    
    

    Mack

  • RICs when MergeTable using with the names of multiple tables

    Hello world!

    I just saw, as v11 OWM MergeTable media with the names of multiple tables. As I couldn't find anything in the documentation, here's a question:

    It also means, that RICs are automatically taken into account regarding the order of INSERTS/CHANGES/DELETES?

    That would actually really great and simplify the merge of our application mechanism a lot.

    Kind regards

    Andreas

    Hi Andreas,

    This feature works the same MergeWorkspace, but with a smaller set of tables.  Tables will always be merged into the order of the child table first, then the parent tables.  However, foreign key constraints are not validated until all tables have been merged.  This would prevent a mistake to be triggered when the child table merging before the parent merging table data in the parent workspace.

    Kind regards

    Ben

  • How to use a table in a SQL query

    Hello

    I need to use a table of numbers as a VARRAY or table of associated Index so that I can do the following SQL code:

    Select *.
    of *.
    where the array is null or id is in table

    So that if the array is empty it returns all the records, and if the table is not empty, then it will return only the rows associated with the ID of the table.

    Is this possible?

    Kind regards

    Nestor Boscan

    In fact, solution I posted returns all rows when VARRAY is empty, not when it is null. To return all the rows when VARRAY is null, use:

    SQL> select  ename
      2    from  emp
      3    where deptno in (select * from table(cast(sys.OdciNumberList(10,30) as sys.OdciNumberList)))
      4       or sys.OdciNumberList(10,30) is null
      5  /
    
    ENAME
    ----------
    ALLEN
    WARD
    MARTIN
    BLAKE
    CLARK
    KING
    TURNER
    JAMES
    MILLER
    
    9 rows selected.
    
    SQL> select  ename
      2    from  emp
      3    where deptno in (select * from table(cast(null as sys.OdciNumberList)))
      4       or null is null
      5  /
    
    ENAME
    ----------
    SMITH
    ALLEN
    WARD
    JONES
    MARTIN
    BLAKE
    CLARK
    SCOTT
    KING
    TURNER
    ADAMS
    
    ENAME
    ----------
    JAMES
    FORD
    MILLER
    
    14 rows selected.
    
    SQL> 
    

    SY.

  • To create an interactive report in the apex by selecting from multiple tables

    Hi, I am creating an interactive report by selecting from multiple tables.

    SELECT w.FIRST_NAME as name, w.SURNAME as name, i.ROAD Road, i.DATE_OF_INC as DATE_OF_INC, S.STATEMENT as a STATEMENT OF Declaration

    JOIN THE

    WITNESS w

    ON w.witness_id = s.FK1_WITNESS_ID

    JOIN THE

    Incident I have

    WE

    i.incident_no = w.FK1_INCIDENT_NO

    JOIN THE

    user_station ps

    ON ps.station_id = i.nearest_station_id

    JOIN THE

    the user in.

    WE

    in. STATION_ID = ps.station_id

    WHERE po.officer_id = 1

    by I continue to encounter this error "the report query requires a unique key to identify each row. The supplied key cannot be used for this query. Please change the report attributes to define a unique key column. "ORA-01445: cannot select ROWID from where sample, a join without key preserved table view '

    So I googled around and found that in the attibutres tables report, I need to change the "LINK" COLUMN so first, I changed "Link to custom target", but the report is so I changed it to "Exclude link Clolumn" again, the report didn't report and I STILL got a blank page with only the tabs.

    I wonder you can not create a report by selecting from multiple tables?

    If you can please I need your help.

    Thank you

    You can, but in this case, it might be easier to build your report tables that are joined Oracle views and then build your report out of the newly built sight...

    Or wrap a selection around your selection with joins, and then make the where clause on the external selection...

    Thank you

    Tony Miller
    Software LuvMuffin
    Ruckersville, WILL

  • Number of rows in multiple tables

    Hello

    Im trying to count the rows of multiple tables

    for example I need the select statement to produce the following

    County of table_name
    Table1: 5
    Table2 6
    3 3 table


    I came up with the following script, but it counts the number of tables that I

    Select object_name, (select count (*) from user_tables where table_name = object_name) to object
    where type_objet = 'TABLE '.

    Hello

    Use this query

    Select table_name, num_rows from user_tables

    He he's useful to you.

  • cannot find the table name of the multiple tables which has more columns.

    Hello

    I'm trying to find the NAME of the TABLE from multiple tables which has more columns. I can't count the number of columns in the table, but cannot find the name of the table that has larger columns in other tables.

    SELECT TABLE_NAME, COUNT (*) FROM THE USER_TAB_COLUMNS WHERE TABLE_NAME LIKE '% LOC' GROUP TABLE_NAME


    Thank you.

    in SQL, you can try this:

    var v_name varchar2(40)
    
    begin
       with
          subq1 as ( select table_name, count(*) as column_count from user_tab_columns where table_name like 'FIBER%'
                         group by table_name
                         order by count(*) desc )
       select table_name
         into :v_name
        from subq1
       where rownum = 1;
    end;
    

    To get the result:

    select :v_name from dual
    

    The clause "with" brings together all the tables and ordered them all first, by the greatest number of columns
    The final query uses the rownum restriction so that it takes the first name from the table of results of the subquery.

    The restriction of rownum also exactly guarantees a result each time so that it will work with the variable binding.

    RP

  • Pagination of the table in a query with table Panel

    Hello

    I need to implement paging in a table as long as the results of a query which makes the user, the table that the query is run has several records, 40000 or more.

    I searched but I can't find a way to apply what I, some links show me how to insert the pagination on the part of the table, but if I only do when I want to see a different page, let's say 500 or 1000, it takes too long to display the data of that specific page. I'm guessing it will retrieve all the data from the query and read it all so it can show what I want.

    Another way is to control the amount of data to be returned from the view object (VO), but I am unable to perform paging efect component table in my file jspx somehow.

    I think I should change my VO both my component so I can get the effect I want, but I don't know how. Properties that I need to change to achieve this.

    THK

    If I set the af: non paginated table mode the number of pages do not appear.

    Then maybe you can use the code from this blog to do it manually:

    http://www.Ateam-Oracle.com/adventures-in-WebCenter-skinning-aftable-with-custom-pagination/

    The only optimization that I think is missing is somehow when I select the page from the list of results, will retrieve only the data on this page.

    Yes and for this you must range Paging in VO (so the result of the query may be limited by the size of the range).

    But, as I mentioned in my first reply, range of paging is bug in 12.1.3 then maybe the same applies to 11.1.1.7

    Dario

Maybe you are looking for