How to identify database records without using rowid.

Hello,
I want to find a way to identify records uniquely in my database without the use of the rowid.
What I want to do is the following :
I have a table that contains images. Something like that :
Table images (id number, image blob).
Lets say that in this table I have scanned images of persons, invoices and orders.
I want to be able to associate a record with different records from different tables from my ERP via an association table.
this table could be :
Table image_associations (imageid number, rowid_column varchar2(100))
The "rowid_column" would contain the rowid of the row that is associated with the image.
The problem is that the rowid is something that changes (for example after export/import).
So I do not want to use rowid.
Any ideas?
Thanks

What you are saying is you want to avoid theaccepted relational design theory and subvert the
fundamental principles of very model?
Yes !!!!Then you are very short sighted and will fail. Why would you want to do this? How is it that you think you are smarter than the forefathers of our industry? an idea so compelling that huge companies have many massive profits implementing the concepts? (sometimes even properly) and how is it that you imagine you can work outside the concepts underlying those tools, within the tool and come to a better solution? this is arrogance surely.
>
I think a lot of people use rowid to identify within
plsql code a record instead of using the table-key.
There is very limited specific application of the ROWID for temporary reference within known bounds.
You shouldn't rely on the ROWID. Think about what it actually is: a physical location address hash.
Don't use it. Just don't.
As I can remember from my classrooms (a lot of years
ago) rowid was never mentioned in ER models. Still
that helps a lot..For very good reason. Rowid is an implementation concept, and not a logical concept.
Oracle already makes provision at the physical storage level to store BLOBs out of line with a record. You don't need to try to do this at the logical level as I said already.

Similar Messages

  • How to Delete duplicates rows without using rowid/distinct.

    How to delete duplicates rows present in a table without using rowid or even distinct.

    How about:
    SQL> SELECT * FROM t1;
             A          B
             1          2
             2          3
             1          2
             4          4
             4          4
             4          4
    SQL> DELETE FROM t1
      2  WHERE (a, b) IN (SELECT a, b FROM t1
      3                   GROUP BY a, b
      4                   HAVING COUNT(*) > 1) and
      5        rownum = 1;
    1 row deleted.
    SQL> /
    1 row deleted.
    SQL> /
    1 row deleted.
    SQL> /
    0 rows deleted.
    SQL> SELECT * FROM t1;
             A          B
             2          3
             1          2
             4          4Although, if I was asked a similar question with all those restrictions, my first response would be along the lines of: Is this question indicative of the way I will have to work if I join this company? If so, there is no point answering because I wouldn't touch this job with a ten foot pole.

  • How to delete a database record by using EJB entity beans

    Hi, All,
    Does anyone know how to use entity bean to delete a database record? I have all the EJB entity beans created, including access beans to each. I can successfully create records, find and update records, however, I haven't find a way to delete records yet.
    Your response is appreciated.
    Cathy

    Please see EJB Forums for continue discussion on this subject.
    Reference titile: "how to delete database record by using CMP entity beans "

  • Add a new record in database table without using table maintance generator

    Hi Expart ,
                  Plz. tell me how to add new record in database table without using table maintance ganerator ....give me one ex.
    Regards
    Bhabani

    Hi,
    The other way to safely handle the modification of tables is through is by programs that can be done with SE38 or SE80.
    To insert into database table we use INSERT statement :
    1. To insert a single line into a database table, use the following:
    INSERT INTO <target> VALUES <wa>.
    INSERT <target> FROM <wa>.
    2. To insert a several lines into a database table, use the following:
    INSERT <target> FROM TABLE <itaba>.
    Or even we can use MODIFY statementas this single statement is used to insert as well as update the records of database table.
    MODIFY <target> FROM <wa>.
    or MODIFY <target> FROM TABLE <itab>.
    thanx.
    Edited by: Dhanashri Pawar on Sep 10, 2008 12:25 PM
    Edited by: Dhanashri Pawar on Sep 10, 2008 12:30 PM

  • How to update and insert the records without using Table_comparison and Map_operation?

    How to update and insert the records without using Table_comparison and Map_operation?

    Use either join or MERGE see this Inserting, Updating, and Deleting Data by Using MERGE

  • How we generate Surrogate Keys without using identify column

    Hi All,
    How we generate Surrogate Keys without using identify column.
    Regards,
    Manish

    There are various options
    1.IDENTITY columns - simplest to implement
    2. Using NEWID(), NEWSEQUENTIALID() functions (if you want to use GUID values as surrogate keys)
    3. SEQUENCE object (if SQL 2012 and above)
    4. Using custom functions to generate keys yourself
    This is an good article which compares use of GUIDs against integers as surrogate keys
    http://blog.jonathanoliver.com/integers-vs-guids-and-natural-vs-surrogate-keys/
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • How to identify new records in a table using OBIEE

    Hi,
    I have price change table as and when a record comes into this table i have to generate an alert. Then show a report with the price changes on which i can invoke an action to go into my transactional system to make the chnage. And once the change is made the process again starts to look for any new price chnage records that are recieved.
    Could anyone pls tell me how to identify new records in a table.
    Rgds

    SELECT ID, LastName, FirstName,
    RANK() OVER (PARTITION BY LastName,
    FirstName ORDER BY ID) AS SeqNumber
    FROM
    (SELECT ID, LastName, FirstName
    FROM Customers
    WHERE (LastName, FirstName) IN
    (SELECT LastName, FirstName
    FROM Customers
    GROUP BY LastName, FirstName
    HAVING COUNT(*) > 1)

  • Database refresh without using RMAN duplicate

    Hi All,
    I am planning to refresh my test instance to a PIT using RMAN backups from PROD. I would like to know the process without connecting to PROD database and without using RMAN duplicate command.
    Thanks.

    imran khan wrote:
    Can you please show the demo first then we will discuss on it more.. what if the folk wants to refresh it ten times then we have to change the database name ten times using NID?
    >Can you please show the demo first then we will discuss on it more.. what if the folk wants to refresh it ten times then we have to change the database name ten times using NID?
    1) You use nid only to change the dbid.
    2) I have done this type of cloning much more than 50 times.
    3) As Iordan Iotzov pointed out, in 11gR2 you can run DUPLICATE database without being connected to the PROD
    Here is a sample code of how to do it assuming both file system are the same:
    # -- RMAN Restore to another server
    rman <<EOF2
    CONNECT TARGET /;
    STARTUP NOMOUNT
    SET DBID 987654321;
    CONNECT CATALOG rman/rman@rcvcat
    RUN {
        SET UNTIL SEQUENCE=5678 THREAD=1;
        ALLOCATE CHANNEL ch0 DEVICE TYPE DISK;
        RESTORE CONTROLFILE;
    ALTER DATABASE MOUNT;
    RUN
      SET UNTIL SEQUENCE=5678 THREAD=1;
      ALLOCATE CHANNEL ch0 DEVICE TYPE DISK;
      ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
      ALLOCATE CHANNEL ch2 DEVICE TYPE DISK;
      ALLOCATE CHANNEL ch3 DEVICE TYPE DISK;
      RESTORE DATABASE;
      RECOVER DATABASE;
    EXIT;
    EOF2:p

  • How to identify which record(s) the user hasbeen checked

    i have a internal table in which first field is represented as check box in the output .
    like bellow
      loop at g_it_final into g_wa_final.
            write : 5 sy-tabix ,
                   20 g_wa_final-g_v_check as checkbox,
                   25 g_wa_final-TRKORR,
                   40 g_wa_final-AS4TEXT.
      endloop.
    now the user will select some records from the output checking the check box
    NOW the QUESTION is
    how to identify which record(s) the user hasbeen checked(selected) ?
    so that i can disply only the selected records in the secondary list.

    Hi,
    You will have to use the 'READ LINE' command within a loop to retrieve the data back into your program.
    You may want to use the HIDE command to ease the retrieval of the checkbox value.
    Check out the online help for both of these.
    Darren

  • How to track repeting record data using BAM in biztalk

    Hi All,
      am new bam, How can How to track repeting record data using BAM in biztalk,please find the below input record
    <ns0:Employee xmlns:ns0="http://BizTalk_.Employee.Schemas.emp_In">
      <Emp>
        <id>122</id>
        <sal>222222222</sal>
        <name>.srinu</name>
        <dept>java</dept>
      </Emp>
       <Emp>
        <id>666</id>
        <sal>44444444</sal>
        <name>.srinu</name>
        <dept>java</dept>
      </Emp>
       <Emp>
        <id>333</id>
        <sal>7777</sal>
        <name>.biztalk</name>
        <dept>C#</dept>
      </Emp>
    </ns0:Invoice>
    am tried using TPE but its showing all the 3 rows as NULL  in bam primary import database.
    So please let know how can i achieve above issue.
    Regards,
    srinivas

    Hi Srinivas,
    Using TPE you cannot process repeating records. It doesn’t allow you to loop through your InvoiceDetails (repeating record), hence it shows null in tracked record. This
    is one of the limitations when you use TPE.
    This can be done using BAM API. If you use Orchestration or by writing a custom pipeline component you can use BAM API where you have the flexibility to loop through the
    repeating record and insert each InvoiceDetails node as a record in your BAM activity. BAM API is the only option to track repeating items inside a message as separate activity instances.
    Refer this MSDN article for more info:http://msdn.microsoft.com/en-us/library/aa559527.aspx
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • How to identify missing records in a single-column table?

    How to identify missing records in a single-column table ?
    Column consists of numbers in a ordered manner but the some numbers are deleted from the table in random manner and need to identify those rows.

    Something like:
    WITH t AS (
               SELECT 1 ID FROM DUAL UNION ALL
               SELECT 2 ID FROM DUAL UNION ALL
               SELECT 3 ID FROM DUAL UNION ALL
               SELECT 5 ID FROM DUAL UNION ALL
               SELECT 8 ID FROM DUAL UNION ALL
               SELECT 10 ID FROM DUAL UNION ALL
               SELECT 11 ID FROM DUAL
    -- end of on-the-fly data sample
    SELECT  '[' || (id + 1) || ' - ' || (next_id - 1) || ']' gap
      FROM  (
             SELECT  id,
                     lead(id,1,id + 1) over(order by id) next_id
               FROM  t
      where id != next_id - 1
    GAP
    [4 - 4]
    [6 - 7]
    [9 - 9]
    SQL> SY.
    P.S. I assume sequence lower and upper limits are always present, otherwise query needs a little adjustment.

  • How do i install opensolaris without using the virtual box??

    hi.
    i am new to solaris
    i am currently using a windows XP OS
    i got down the opensolaris cd from SUN
    how do i install opensolaris without using a virtual box ?

    The OpenSolaris CD is a "Live CD". You can boot off of the CD, and either run the OpenSolaris operating system directly, or you can select the "Install" icon on the LiveCD desktop. You can find full instructions here: http://dlc.sun.com/osol/docs/content/IPS/getst1.html
    Do you want to keep your Windows OS on the disk? If so, then you want to follow the instructions for partitioning your disk (unless you already have a spare partition).
    -- Alan

  • How to identify fonts in pdf using vc++

    Hi All,
              how to identify fonts in pdf using vc++. could you please help me out in this scenario.
    Thanks,
    Parthasarathy.S

    I believe there is a sample plugin in the SDK for doing this.
    From: Adobe Forums <[email protected]<mailto:[email protected]>>
    Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
    Date: Thu, 15 Dec 2011 02:27:21 -0800
    To: Leonard Rosenthol <[email protected]<mailto:[email protected]>>
    Subject: how to identify fonts in pdf using vc++
    how to identify fonts in pdf using vc++
    created by partha56<http://forums.adobe.com/people/partha56> in Acrobat SDK - View the full discussion<http://forums.adobe.com/message/4086333#4086333

  • How to identify Which ports are using in RAC setup?

    Hi,
    how to identify Which ports are using in RAC setup?
    Thnaks,

    [Viewing Port Numbers and Access URLS|http://download.oracle.com/docs/cd/B19306_01/install.102/b14205/ports.htm#sthref1208]

  • How to connect to AD without using ADWS?

    How to connect to AD without using ADWS? Is it possible to do it? If yes, can teach me how to connect to AD and find their attributed?

    Hi Noobycy,
    There are few tools to find AD attributes without ADWS. See options you have below
    1.ADFIND -
    http://www.joeware.net/freetools/tools/adfind/  This is a command Line tool
    2.
    The ADSIEDIT tool
    from the Windows Support Tools is a great tool to "explore" the AD.
    http://technet.microsoft.com/en-us/library/cc731547.aspx
    3. ADUC -
    http://www.boostsolutions.com/blog/how-to-find-attributes-of-objects-in-active-directory/
    Regards, MassonTech

Maybe you are looking for

  • Multiple Chart Types

    Is there a way to have multiple charts types in one chart. I can not seem to figure it out. For example, I would like to display events per day as a bar chart and on the same chart have the average of events over the last week displayed as a line.

  • Simple MX 2004 gallery tutorial

    Hello I am looking for a fairly simple MX 2004 tutorial on creating a photo gallery which would show several thumbnails which, when one of them is clicked, it would show a larger image. I have looked online and those I have found are not compatible w

  • IPad + 2 iTunes accounts

    Hello I am looking for some guidance please. I live in Finland and I have an English iTunes store account on my English credit card, my wife also has an iTunes store account but it is a Finnish account using a Finnish credit card. Both of these accou

  • 1080p videos are not working

    Hi, I am facing issue with the video card and i am not able to see 1080p videos. Even i have downloaded all the drivers in hp official siteand installed in my system. Kindly help me out. This question was solved. View Solution.

  • How to define background color to grand total

    Hi I have 3 columns used in pivot table and also calculated grand total on all three columns. But i need only two columns grand total and need third columns grand total to not to display in the report. Can have any setting for this. Any suggestions p