How to create primary on a column when redundant data is present

I am interested to add primary key constraint on a column where repeated data is there without affecting the date how can I immplement this.
Can any one help me in this regard.
Thanks
Sanjay

If you have duplicated data and going to specify the primary key constraint on that data it's quite against RDBMS concepts and can't be considered as a relevant idea. Nevertheless Oracle provides you with such tricky method, but once again, it's NOT good idea, change your mind:
SQL> create table t (x int);
Table created.
SQL> insert into t values(1);
1 row created.
SQL> insert into t values(1);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from t;
         X
         1
         1
SQL> create index t_x on t(x);
Index created.
SQL> alter table t add primary key (x) novalidate;
Table altered.
SQL> insert into t values(1);
insert into t values(1)
ERROR at line 1:
ORA-00001: unique constraint (ORACLE_OCM.SYS_C006647) violated
SQL> insert into t values(2);
1 row created.
SQL> select * from t;
         X
         1
         1
         2In this case you have PK constraint and it affects all new DMLs, but
in fact you can't rely on PK.
Rgds.

Similar Messages

  • How to create a fixed-width column within an APEX 4 interactive report?

    This thread is a follow-up to {message:id=9191195}. Thanks fac586.
    Partial success: The following code provided by fac586 limits the column width of the Apex 4 interactive report column as long as the column data contains whitespace within a Firefox 3.6 browser:
    <pre class="jive-pre">
    <style type="text/css">
    th#T_DESCRIPTION {
    width: 300px;
    td[headers="T_DESCRIPTION"] {
    width: 300px;
    word-wrap: break-word;
    </style>
    </pre>
    Notes:
    1. The code above is put into the HTML header section for the page.
    2. T_DESCRIPTION is defined as VARCHAR2(2000).
    3. The code above works within the Firefox 3.6.12 browser but does not work within the Internet Explorer 7.0.5730.13 browser.
    I tried adding "float: left;":
    <pre class="jive-pre">
    <style type="text/css">
    th#T_DESCRIPTION {
    width: 300px;
    td[headers="T_DESCRIPTION"] {
    width: 300px;
    word-wrap: break-word;
    <font color="red"> float: left;</font>
    </style>
    </pre>
    Notes:
    1. "float: left;" does not require whitespace and successfully splits the column between characters in lieu of whitespace.
    2. "float: left;" shrinks the cell height and allows the page background to show through... couldn't determine how to fix this.
    3. The code above works within the Firefox 3.6.12 browser but does not work within the Internet Explorer 7.0.5730.13 browser.
    I've done some more research, but I still haven't discovered how to create a fixed-width column within an APEX 4 interactive report that displays properly within an Internet Explorer 7 browser.
    Any ideas and help will be appreciated.

    Thanks for your help with this!
    <pre class="jive-pre">
    what theme are you using?
    </pre>
    A customized version of theme 15.
    <pre class="jive-pre">
    Floating a table cell makes no sense (to me anyway).
    </pre>
    You are correct. I was just trying a different approach ... trying to think out of the box.
    <pre class="jive-pre">
    Think you'll need to create an example on apex.oracle.com with sample data
    if there are any further problems.
    </pre>
    Great suggestion! The code your provided works in the Firefox 3.6.12 browser, but still doesn't work within my Internet Explorer 7.0.5730.13 browser.
    UPDATE:
    I have recreated the problem at apex.oracle.com, you can use the following information to check it out:
    URL: http://apex.oracle.com/pls/apex/f?p=43543:100::::::
    Workspace: IR_FIXED_WIDTH_COLS
    Username: GUEST
    Password: Thx4help
    Application: 43543 - CM_RANDY_SD
    Note: Table name is TEST_DATA
    The following code provided by fac586 works in both Firefox 3.6 and IE7 using default theme "21. Scarlet" at apex.oracle.com; however, it doesn't work when I use a copy of our customized theme "101. Light Blue":
    <pre class="jive-pre">
    <style type="text/css">
    .apexir_WORKSHEET_DATA {
    th#T_DESCRIPTION {
    width: 300px;
    max-width: 300px;
    td[headers="T_DESCRIPTION"] {
    max-width: 300px;
    word-wrap: break-word;
    </style>
    <!--[if lt IE 8]>
    <style type="text/css">
    /* IE is broken */
    th#T_DESCRIPTION,
    td[headers="T_DESCRIPTION"] {
    width: 300px;
    </style>
    <![endif]-->
    </pre>
    Any idea what in the theme could be causing the fixed width column to be ignored in IE 7?
    Edited by: CM Randy SD on Dec 7, 2010 11:22 AM

  • How to create a view indicating column's length?

    SQL>create table abc (a number(12));
    I want to create a view cde with a length of number(5) by "describe cde" in sql*plus.
    SQL>create view cde(a) as select a from abc;
    SQL>desc cde
    A NUMBER(12)
    how to create a view indicating column's length? the actual value in abc only <1000
    I want to create a view cde with a length of number(5) .
    SQL>desc cde
    A NUMBER(12)
    Thank You
    Ming-An Zhang

    This does not make sense. How can a view be a NUMBER(5) and the actual column a NUMBER(12)?
    What happens if there is a 10 or 12 digit number in the table? Just what is the view suppose to do? Crash and burn? Where is the logic in that?!
    If the table's column has an incorrect precision and size, THEN FIX IT!! Do not hack it with view!
    It is silly purposefully building constructs into the database that can easily result in run-time errors.

  • How to create user in local datasource when UME is already switched to LDAP

    HI,
    Info : I have portal ( NW 700),  recently i switched the datasource of portal to LDAP from local datasource.
    issue: if i create user in portal it get created in LDAP, i want create few users in Local datasource.
    how to create user in local datasource when UME is already switched to LDAP?
    one solution is change the ume back to local datasource > create user > then switch back to LDAP.
    do you know any other sol?
    Regards
    Shridhar Gowda

    Please let me know the Datasource file name .. i.e. the .xml filename.
    try to analyze this name and see whether you get a solution or post it here.
    Reward points if helpful -

  • OBIEE:How to display row/columns where no data is present in pivot results?

    I have a request from some team members to provide an OBIEE report of 7 teams and the number of open incidents for each team by week.
    I was able to create the pivot listing the teams vertically and the age (by week#: 1 week, 2 weeks, 3 weeks, 4 weeks & > 4weeks) horizontally.
    The dilemma I have is that of the 7 teams that have incidents tickets only 4 of them have data, thus only those 4 teams that have ticket data show up in my pivot. I would like to be able to reflect ALL 7 teams even if representing a dash or null value across the pivot for those teams that don't have data.
    Does anyone know if this is possible and if so, how would I do this? I've tried searching the internet and found out how to replace a null value with a dash in columns/rows when a cell is null. But not how to display an entire row (or column) where no data is present.
    Edited by: coutya on May 22, 2012 11:01 AM
    Edited by: coutya on May 22, 2012 11:02 AM

    You are correct; if there are no data at all, those teams won't show in a pivot table. NULLs or dashes only work if a particular column is null. There are two ways to accomplish what you wish. The first example I thought when I wasn't aware of being able to do a LEFT OUTER JOIN in Answers using the Advanced tab. The first method works nicely, though and is simpler to execute.
    Read my solution here:
    Re: Section Values showing NULL in Pivot
    To do the LEFT OUTER JOIN read this:
    http://gerardnico.com/wiki/dat/obiee/multiple_subject_area
    Both will get you what you want...

  • How to disply the input text box when the data in the table is empty

    Hi,
    I m using JDeveloper 11g 5.1.1.1 : How to display the Input text box when the data in the table is empty or by using the dual table.
    Since there is no record in the table, screen is displying only the lable. not displying the Input text box.? Any property is there to enable?.
    One more case i tried by using dual (eg Select '0' as name from dual) created one view object and dragged in the JSF screen as input combo box with list of values.
    In this case also it is not displaying the combo box.Just displaying the Lable name and 0 only.
    Regards
    Bijesh K

    Hi,
    I didn,t get you.Could you please explain. I am not choosing the ADF table. Selecting and dragging ADF form only.
    Regards
    Bijesh K

  • How to create  a datasource for 0COSTCENTER to load data in csv file  in BI

    how to create  a datasource for 0COSTCENTER to load data in csv file  in BI 7.0 system
    can you emil me the picture of the step about how to  loaded individual values of the hierarchy using CSV file
    thank you very much
    my emil is <Removed>
    allen

    Step 1: Load Required Master Data for 0CostCenter in to BI system
    Step 2: Enable Characteristics to support Hierarchy for this 0Cost Center and specify the External Characteristic(In the Lowest Node or Last Node) while creation of this Characteristic InfoObject
    Step 3: On Last Node of Hierarchy Structure in the InfoObject, Right Click and then Create Hierarchy MANUALLY by Inserting the Master Data Value as BI dosent Support the Hierarchy load directly you need to do it manually....
    Step 4: Mapping
    Create Text Node thats the first node (Root Node)
    Insert Characteristic Nodes
    Insert the Last Node of the Hierarchy
    Then you need to create a Open hub Destination for extracting data into the .csv file...
    Step1 : Create the Open Hub Destination give the Master Data table name and enter all the fields required....and create the transformations for this Open Hub connecting to the External file or excel file source...then give the location on to your local disk or path of the server in the first tab and request for the data...It should work alright let me know if you need anything else...
    Thanks,
    Sandhya

  • How to create a WebServices by using a BI data?

    Hi All,
    Can anybody tell me that, How to create a WebServices by using a BI data?
    If possible need the steps also...
    Plz reply back me to [email protected]
    Your help will be appreciated
    Regards,
    KIran Telkar

    Kiran,
    did you go through...
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7ffba2ec-0c01-0010-2e81-988e48e3ca43
    on how to expose a BW query as a web service...?
    Arun
    Hope it helps..

  • How to Create Primary DB and Physical/Logical Standby DB on the same host?

    Now I encounter a issue. I want to create one Primary DB and one Physical standby DB and one Logical standby DB on the same host.
    Create this env on the same host aims to test whether we can using EM Patching DP to apply patches on Primary/Physical/Logical DB successfully.
    I try to setup this env but fails. I want to know more related issues about create Primary DB /Physical DB/Logical DB on the same host and how to configure between them.
    Below steps is my try:
    1. Create Primary DB on the /scratch/primary_db
    2. Create Physical Db software only on the /scratch/physical_db
    3. Create Logical Db software only on the /scratch/logical_db
    4. Using EM Wizard to create physical standby database and logical standby database, and these two targets can show up on the "All Targets" Page.
    5. But when using EM Patching DP, it fails and the reason is the listener of physical and logical db cannot configured well.
    Issues:
    So I want to know about how to configure physical db and logical db's listener using EM or manually?
    If the listener name of Primary Db is LISTENER and the port is 1521,and the listener.ora is under the /scratch/primary_db/network/admin directory, then how to config physical db and logical db's listener's name and port?

    Hi,
    As this a test case then you need to create two more listener for each Oracle Home (/scratch/physical_db & /scratch/logical_db) make sure that they have different names and ports.
    Then add the new listeners manually using GC?
    Try it and let me know
    Regards
    Amin

  • How to create an automatically increment column in Oracle DB Table?

    Hi To All
    Here I am trying to create a table in Oracle that creates an automatically increment column in Oracle DB Table. i searched almost all Forums.(Even in Oracle). They are saying that, that logic u must implement in Java Code.(*Takes Maximum no from table, add +1 to it, and store it back again)*. apart from this, while creating an table in Oracle, is there any facility like MySQL Database? please help me. Thanks in advance.

    Hi BalusC
    Thanks for Your Response and clue. with that, i succeeded in my application. Thank you very much. here i am giving you the details which i did.
    1. I Created a table named orders in Oracle like this.
       CREATE TABLE ORDERS (ORDER_ID NUMBER, CUSTOMER_ID NUMBER, ISBN NUMBER,
                                   DESCRIPTION NCHAR(5));
                       2. I created one sequence in Oracle like    CREATE SEQUENCE SEQ01 INCREMENT BY 1 START WITH 1000     3. Then i have written jdbc program like this
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    public class SequenceTest {
         public static void main(String[] args)throws Exception{
              try {
              Class.forName("oracle.jdbc.driver.OracleDriver");
              Connection con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.135:1521:orcl","scott","tiger");
              String cols[] = {"ORDER_ID", "DESCRIPTION"};
              PreparedStatement pstmt = con.prepareStatement("INSERT INTO ORDERS (ORDER_ID, CUSTOMER_ID, ISBN,DESCRIPTION) VALUES            (SEQ01.NEXTVAL, 104, 966431505,?)", cols);
              pstmt.setString(1,"Desc3");          
              pstmt.executeUpdate();
              ResultSet rs=pstmt.getGeneratedKeys();     
                    System.out.println("---- One Row Inserted ----");
              } catch (Exception e) {
                   System.out.println("---- Failed Due To "+e);               
       4. When i ran above program 5 times, i got the following Data into my Oracle Table (select * from orders)
      ORDER_ID CUSTOMER_ID       ISBN DESCR
          1000         101  966431502 Desc0
          1001         102  966431503 Desc1
          1002         103  966431504 Desc2
          1003         104  966431505 Desc3
          1004         104  966431505 Desc3
          1005         105  966431506 Desc4
    6 rows selected.
      But i dont know how to do this type of program with out using prepared statements. i tried, and i got exception *"Missing Expression"* .
    Once again Thank You very much for your clue.

  • How to create tree table with column headers

    hi,
    when i drag and drop a view object onto my .jspx page as a af: tree table ,
    am not able to get the column header of each column. all the columns in the table are just clubbed together not separated as in af:table.
    can anyone say how the column headers are created for the columns when we drop a view object as a tree table?

    Hi,
    this is not an option with the treeTable as it gets rendered by default when dragging and dropping the collection to the page. I haven't tried it, but I think you will have to check which node is getting rendered and based on this information add your own row layout . Sounds like a bit of coding work
    Frank

  • How to create  index for a column of a view

    Hi,
    I have created view for a table and then i am trying to create index for a column of that view. i am using the query "CREATE INDEX index_name ON view_name (col)". but Mysql is showing error like "view_name is not a base table".
    How can i do that......

    As mentioned this is a java forum not a mysql forum, but as I know the answer - you can't create an index directly on a view in mysql.

  • How to create report with dynamic columns with static row labels

    Hi All,
    I am creating one report as per attached format. I have labels on the right side of the report
    and data in 3 columns. The data is taken dynamically from the command query.
    It gets data from 3 different result sets/command queries.
    I tried creating the report horizontally instead of vertically, but the logo image I am not able to rotate in 270degrees.
    Can anybody tell me how to create the report...??

    Hi Abhilash,
    Thanks for the quick reply.
    Actually the problem is with the image, as I am not able to rotate 270 degree. Crystal report cannot support the rotation of image.
    i have another problem, I have to create a report in which
    Lables are fixed on the left side of report and 3 columns per portrait page. Those columns are
    dynamically created and shown in the report.
    The format is like the above. Can you please help me in doing this report, as I tried it doing
    with CrossTab. I am really stuck to this report.

  • How to create index on xmtype column

    Hi,
    I have a table as follows
    CREATE TABLE T_TEST_XML (PROCESS_ID NUMBER, TXT_XML XMLTYPE);
    I query the above table very frequently with the query
    SELECT * FROM T_TEST_XML TXS WHERE EXISTSNODE(TXS.TXT_XML, '/order[status="PEN"]') = 1
    How to create function based index on the TXT_XML column for the xpath expression /order[status="PEN"]' to improve the query performance?
    Thank you

    Actually if you are limited to using older software
    1. Consider defining an XML Schema and storing the XML using object relational storage.
    or
    2. If you must store the XML as CLOB create the index on extractValue(), rather than existsNode() and supply the predicate value at the SQL level rather than the XPATH level.
    SQL> DROP TABLE T_TEST_XML
      2  /
    Table dropped.
    SQL> CREATE TABLE T_TEST_XML (PROCESS_ID NUMBER, TXT_XML XMLTYPE)
      2  /
    Table created.
    SQL> create INDEX T_TEXT_XML_IDX on T_TEST_XML( extractValue(TXT_XML,'/order/status'))
      2  /
    Index created.
    SQL> set autotrace on explain
    SQL> --
    SQL> SELECT *
      2    FROM T_TEST_XML TXS
      3   WHERE ExistsNode(TXT_XML,'/order[status="PEN"]') = 1
      4  /
    no rows selected
    Execution Plan
    Plan hash value: 3001212210
    | Id  | Operation          | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |            |     1 |  2017 |    31   (0)| 00:00:01 |
    |   1 |  NESTED LOOPS SEMI |            |     1 |  2017 |    31   (0)| 00:00:01 |
    |   2 |   TABLE ACCESS FULL| T_TEST_XML |     1 |  2015 |     2   (0)| 00:00:01 |
    |*  3 |   XPATH EVALUATION |            |       |       |            |          |
    Predicate Information (identified by operation id):
       3 - filter("P"."C_01$"='PEN')
    Note
       - dynamic sampling used for this statement (level=2)
    SQL> SELECT *
      2    FROM T_TEST_XML TXS
      3   WHERE extractValue(TXT_XML,'/order/status') = 'PEN'
      4  /
    no rows selected
    Execution Plan
    Plan hash value: 1430727070
    | Id  | Operation                   | Name           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |                |     1 |  2015 |     1   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_TEST_XML     |     1 |  2015 |     1   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | T_TEXT_XML_IDX |     1 |       |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access(EXTRACTVALUE(SYS_MAKEXML(0,"SYS_NC00003$"),'/order/status',null,0,0,5242
                  93,133120)='PEN')
    Note
       - dynamic sampling used for this statement (level=2)
    SQL>
    SQL>
    SQL>
    SQL>
    SQL>
    SQL>This allows the index to support querying on any value of status, rather than just PEN

  • How to create index on xmltype column

    I have a table having only one column xmlcontent (xmltype). This table stores xml data of about 10GB size. I'm using extract value to move the data to staging tables.
    How can I create index on xmltype column?
    Create index indexname on table (column) doesn't seem to work.
    Sample xmlstructure is given below
    <Root>
    <Type>Insert</Type>
    <Date>2006-12-29</Date>
    <Source>8</Source>
    <id>data</id>
    <key_flds>
    <fld><id>Key1</id><val>C</val></fld>
    <fld><id>Key2</id><val>429672</val></fld>
    <fld><id>Key3</id><val>8</val></fld>
    </key_flds>
    </Root>
    I need to do extract value on all tags and move them to corresponding relational tables.

    Hi, you need to create them using something like this (what I have used and work rather well - if I did not load the xml into an xml table, the processing took about 10 minutes, while the indexed xml table took just a few seconds). statute_xml is the table name and sxmldoc is the xml column/field.
    create index desc_idx on statute_xml
    (sxmldoc.existsNode('/SimpleTypeCompanion/EnumerationValue/@description'))
    create index sid_idx on statute_xml
    (sxmldoc.existsNode
    ('/SimpleTypeCompanion/EnumerationValue/Text')
    create index effdate_idx on statute_xml
    (sxmldoc.existsNode
    ('/SimpleTypeCompanion/EnumerationValue/@effectiveDate')
    Hope this helps.
    Ben

Maybe you are looking for

  • Which is best technique for Reports in JSP  ?

    Hi Friends !!! I am intermediate in JSP NOw i want to know which one is the best tool for JSP for generating the report ? I don't wanna to use Crystal report or JASPER report. can i do with ( displaytags ) if yes... provides me help on that. thanks..

  • Sorting photos by date

    I've synced my photos to my iPod but within each folder they show up in filename order. I've given each file a name that actually means something, so this is not a useful order for display purposes. Is it possible to get the iPod to show photos in da

  • Can't join creative cloud after trial is over. URGENT

    My trial time is over and I need to join creative cloud. I chose my payment option and then the website asks me for my. Then, as I follow the instructions, I can't find it. I need to join creative cloud ASAP!

  • I have to keep resetting my ipod

    in the past few weeks i've had to reset my ipod to factory settings twice.i plug in the pod and itunes gives me a pop up that said that itunes could not retrieve information from the ipod and to reset to factory settings.does anyone know what might b

  • Searching exact match.

    Hello all, How to perform exact match using CONTAINS? For Eg. to fetch all rows having some exact text like "2003 and 2006" how to do with Contains? I know we can do this with Like operator (Like '%2003 and 2006%') but how to do it with Contains oper