create view materized without constraint primary key on the base table?

Hello

I tried to create a materized view, but I got this error:

SQL > CREATE MATERIALIZED VIEW FAST REFRESH TABLE1_MV
START BY
TO_DATE (April 25, 2009 03:00:13 ',' DD-MM-YYYY hh24:mi:ss')
NEXT
SYSDATE + 1
AS
Select * from TABLE1@remote_db
SQL > /.
CREATE MATERIALIZED VIEW FAST REFRESH TABLE1_MV
*
ERROR on line 1:
ORA-12014: table 'TABLE1' does not contain a primary key constraint.

Table1 in remote_db is not a primary key constraint. Is there anyway that I can create a view materized on a base table that is not a primary key constraint?

Thank you
Liz

Make sure user name used in remote_db database link has select privileges on Journal of MV. On the issue of db source:

SELECT LOG_TABLE FROM DBA_MVIEW_LOGS WHERE LOG_OWNER = 'TABLE1-owner' AND MASTER = "TABLE1";

This will give you MV table the journal name. On the issue of target side:

SELECT * from MV-LOG-NAME@remote_db;

And after your version.

SY.

Tags: Database

Similar Questions

  • How can I make sure that changes in a primary key (in the parent table) would also appear directly in the FOREIGN KEY in the child table?

    Forgive my question. I am very new to Oracle.

    How can I make sure that changes in the key primary supplier_id (concerning the supplier table) would also appear directly in the FOREIGN KEY (supplier_id) in the products table?

    Is that not all the primary key and FOREIGN KEY on?

    My paintings:

    I created 2 tables and connect to apply in the data base referential integrity, as I learned.

    CREATE TABLE - parent provider

    (the numeric (10) of supplier_id not null,)

    supplier_name varchar2 (50) not null,

    Contact_Name varchar2 (50).

    CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)

    );

    CREATE TABLE - child products

    (the numeric (10) of product_id not null,)

    supplier_id numeric (10) not null,

    CONSTRAINT fk_supplier

    FOREIGN KEY (supplier_id)

    REFERENCES beg (supplier_id)

    );

    I inserted the following text:

    INSERT INTO provider

    (supplier_id, supplier_name, contact_name)

    VALUES

    (5000, 'Apple', 'first name');

    I expect that the supplier_id (5000) to the provider of the table also appears in the products table under key supplier_id having the same value which is 5000. But this does not happen.

    How to get there?

    Thanks in advance!

    Hello

    What is a foreign key in Oracle?

    A foreign key is a way to ensure referential integrity in your Oracle database. A foreign key means that the values of a table must appear also in another table.

    Ok!??

    What is now the right way to implement referential integrity in your Oracle database that the values of a table must also be included in another table?

    A foreign key referential integrity indeed enfore in ensuring that the value in the child table must have a corresponding parent key (otherwise you will encounter an error, as evidenced by "SomeoneElse"). However, it will never automatically insert a row in the other table.

    If you are looking for a solution that automatically inserts a record in the other table, maybe you should go for triggers:

    See:

  • View of Materlized primary key and primary key in the master tables

    We use the Oracle 11 g 2 and I created a view on several paintings of master materlized. The paintings of masters all have the primary key, but I understand not all primary key columns in the query definition.
    According to Oracle manual e10592
    Specify WITH PRIMARY KEY to create a primary key materialized view. This is the default ....
    The master table must contain an enabled primary key constraint, and the defining query of the materialized view 
    must specify all of the primary key columns directly.
    My MV created OK and works. My question is what can be the impact on my MV? Could he hit to performance. It takes 40 minutes to the MV should be created and 5 minutes to refresh the one line insert in each table of mater. I would like to see it refresh in a few seconds.

    Retrieve the lines of the mview is purely a function of the number of lines and indexing on the mview himself. Mview refreshing at the time of the wall depends on the quality of the query used to refresh the mview. If you include the PKs of the source table in the mview matter or not, here. What matters is the execution of the refresh request path. Is it okay to indexation on the underlying tables to support the joints. Did you use mlog$ _s to allow a quick refresh - mlog$ _s are still usable for your mview. There are a number of possible causes for your problem and we do not have enough information to make an estimate of the problem.

    BTW, if the mview could refresh in a few seconds without mlog$ _s, probably unnecessary a mview.

  • implement the primary key on the field of forms

    Hello experts,

    I have a form with deptno single base table.
    dept_name and deptno. DEPTNO is a primary key in the database table.
    When I get the records, it prevents to insert the value that is duplicated in the deptno text box when I insert or update.

    the form I create a block with the base table, apply the primary key property of this Dept block. is Yes.
    then I put the key property primary deptno fields to yes.
    When I get duplicate records and then save, it prevents insertion but I want the following:

    I run the form, when I enter the first record, if it exists in the table can prevent to insert. also after the first record was inserted.
    If I insert to new deptno even into the next record, it must also prevent.

    Please help me.

    Thank you
    Yoann

    You have built your data forms to help block the "data block Wizard? If so, it already identified DEPTNO as the PK column. If it does not, or you have built your data manually block, you can open the palette property for the DEPTNO element and set the primary key property Yes. When this property is set on an element, the corresponding property of block, primary to apply key must also be set to yes. Please remember, however, that the Act of mark the DEPTNO as a PK does not 'Real time' checking for duplicates. Checking for duplicates occur when validation occurs. If you need a real-time duplicate check, you will need to write code to allow audits in double 'real time '.

    There are numrous examples in the forum to check duplicate in real-time as well as examples on the Internet. A search on Google for 'Check' the locker double shaped will give you lots of good examples.

    Craig...

  • create materialized view log on the table without a primary key

    Hi all
    CREATE TABLE client_months 
    (
      SUBJ_CODE         NUMBER(4),
      SERV_CODE         NUMBER(4),
      DEBIT_CODE        NUMBER(4),
      PERIOD_NUM        NUMBER(2),
      PERIOD_NAME       VARCHAR2(40 CHAR),
      FIRST_MON_DAY     DATE,
      LAST_MON_DAY      DATE,
      VALUE_MON_DAY     DATE,
      MONTHES           NUMBER(4,2),
      GARDENING_WEIGHT  NUMBER(5,4),
      REASON_CODE       NUMBER(5),
      STAMP_ACTION      VARCHAR2(1 CHAR),
      STAMP_CDATE       DATE                        DEFAULT SYSDATE,
      STAMP_DATE        DATE,
      STAMP_USER        VARCHAR2(15 CHAR),
      REGION_CODE       NUMBER(9)
    )
    table created.
    
    CREATE UNIQUE INDEX client_months_UK  ON client_months 
    (SUBJ_CODE, SERV_CODE, DEBIT_CODE, PERIOD_NUM, REGION_CODE)
    index created.
    
    CREATE MATERIALIZED VIEW LOG ON client_months with rowid;
    
    CREATE MATERIALIZED VIEW client_months_mv 
    BUILD immediate 
    REFRESH FAST ON COMMIT 
    AS 
    SELECT * FROM client_months;
    
    ORA-12014: table 'CLIENT_MONTHS' does not contain a primary key constraint
    I don't want to refresh the mview when validation is performed on the base table.
    And I don't want to change the base table by adding a primary key.

    is it possible to create the mview journal using the unique index? or another solution?
    Please help
    Thanks in advance
    Naama

    Naamas wrote:
    No,
    I already read this post!

    Then you read wrong:

    SQL> CREATE TABLE client_months
      2  (
      3    SUBJ_CODE         NUMBER(4),
      4    SERV_CODE         NUMBER(4),
      5    DEBIT_CODE        NUMBER(4),
      6    PERIOD_NUM        NUMBER(2),
      7    PERIOD_NAME       VARCHAR2(40 CHAR),
      8    FIRST_MON_DAY     DATE,
      9    LAST_MON_DAY      DATE,
     10    VALUE_MON_DAY     DATE,
     11    MONTHES           NUMBER(4,2),
     12    GARDENING_WEIGHT  NUMBER(5,4),
     13    REASON_CODE       NUMBER(5),
     14    STAMP_ACTION      VARCHAR2(1 CHAR),
     15    STAMP_CDATE       DATE                        DEFAULT SYSDATE,
     16    STAMP_DATE        DATE,
     17    STAMP_USER        VARCHAR2(15 CHAR),
     18    REGION_CODE       NUMBER(9)
     19  )
     20  /
    
    Table created.
    
    SQL> CREATE UNIQUE INDEX client_months_UK  ON client_months
      2  (SUBJ_CODE, SERV_CODE, DEBIT_CODE, PERIOD_NUM, REGION_CODE)
      3  /
    
    Index created.
    
    SQL> CREATE MATERIALIZED VIEW LOG ON client_months with rowid
      2  /
    
    Materialized view log created.
    
    SQL> CREATE MATERIALIZED VIEW client_months_mv
      2  BUILD immediate
      3  REFRESH FAST WITH ROWID ON COMMIT -- pay attention to WITH ROWID
      4  AS
      5  SELECT * FROM client_months
      6  /
    
    Materialized view created.
    
    SQL>
    

    SY.

  • Create the primary key on the target

    Y at - it no IKM which would create the primary key on target after having read the instructions for the source?

    Thank you
    Dinesh.

    Hi Dinesh,

    You can customize a KM to create a primary key on the target
    The target table will be created with the mention of the primary key constraint in the data target store.

    Steps: -.

    Customiuse creating target step of the table and I create $ step table.

    for example: -.

    original train target table KM walk (IKM Oracle Simple incremental update): -.

    create table< %="snpRef.getTable" ("l",="" "a",="" "targ_name")="" %="">
    (
         <%=snpRef.getTargetColList("", "[COL_NAME]\t[DEST_CRE_DT] NULL", ",\n\t", "")%>
    )

    custom STAGE: -.

    create table< %="snpRef.getTable" ("l",="" "a",="" "targ_name")="" %="">
    (
         <%=snpRef.getTargetColList("", "[COL_NAME]\t[DEST_CRE_DT] NULL", ",\n\t", "")%>

    CONSTRAINT constraint_name PRIMARY KEY (< %="snpRef.getColList" ("",="" "[column]",="" ",",="" "",="" "pk")="" %="">)
    )

    Note:- The code above described here is just a sample of reference. I did not test the syntax.

    Kind regards
    Its

  • I am trying to create a sequence to be used as a primary key in an Oracle table

    Hi guys

    I ODI version 10.3.5 and I'm trying to create a sequence that fills with row_id for a table. The schema is a database.
    And I want that this element will be the primary key of the table that is responsible to run the interface but I get questions.

    So please advise me.

    Hello

    Can you please provide the following details:
    1. What is the area of the execution of your sequence? Is it source, scene or target.
    2. what IKM you use (hopefully, you run the sequence in the staging or the target)?

    My understanding is when you check in not Null, all your lines going to the error table. So it gives no error.

    When you uncheck the not Null, it is in error because the database does not Null values in the primary key column.

    You can do the following to check if your sequence is working properly.
    Try to write an Insert Select query to DB and run it and see if it works properly.

    i.e.

    Insert (EMPL)
    EMPNO,
    ENAME,
    EMPLOYMENT,
    BISHOP.
    HIREDATE,
    SAL,
    COMM,
    DEPTNO
         
    )
    Select S_EMPNO. NEXTVAL,
    ENAME,
    EMPLOYMENT,
    BISHOP.
    HIREDATE,
    SAL,
    COMM,
    DEPTNO
         
    from EMP

    or if you can provide your query in this format, it will help find the question quickly. Please also indicate the KM.

  • primary key on the form

    Hello

    I'm working on apex 4.0.2

    I have a table that has no explicit primary key in the creation of sql.
    ex:

    CREATE TABLE supplier
    (
    supplier_id numeric (10) not null,
    supplier_name varchar2 (50) not null,
    Contact_Name varchar2 (50)

    );



    But I know that the suplier_id column can play the role of the primary column.

    Is there a problem if I choose this column in the wizard as the main column?


    Best regards

    Jean-Marc

    Hello John.

    >
    Apex does not check the primary key constraint when creating form wizard, but it gives a list of columns with a unique constraint.
    >

    Sorry! You are right:
    >
    Apex does not check the primary key constraint when creating form wizard, but it gives a list of all the columns in the table.
    >

    Kind regards
    Kiran

  • Problems with the primary key of the query string

    Moving from asp to php, to work with David Power's book: The Essential Guide to Dreamweaver CS4 with CSS, AJAX, and PHP.  Recycling of my brain, so starting from scratch in the learning process.

    Everything was going perfectly until I tried to add the primary key of a record in a query string.  I compared my code with the example code for the book, and everything matches.  When previewing the page in my browser and hover over the link which must pass the main code on the next page, the query string does not appear correctly.  It shows user_id = but no figure shows, as it is supposed to.  www.webpage.com/update_user.php?user_id=

    Here is my code: (Please note, <>have been removed, as I was unable to find a way view the code in the correct way here (copy/paste was doesn't work do not, nor insert syntax))

    ? PHP {?}

    ? PHP echo $row_listUser ['family_name'];? PHP echo $row_listUser ["FirstName"];?

    ? PHP echo $row_listUser ['username'];?       ? PHP echo $row_listUser ["admin_priv"];?

    a href = "update_user.php? user_id =? php echo $row_listUser ['user_id'];?" "Edit / has

    a href = "delete_user.php? user_id =? php echo $row_listUser ['user_id'];?" ' Delete / has

    ? PHP} while ($row_listUser = mysql_fetch_assoc ($listUser));?

    Any ideas that could help me understand why this part does not in particular would be greatly appreciated.  Writing to the database worked perfectly, I see that there are numbers in the database as user_id, and it is defined as my primary key in the configuration database.  Such a simple process that is causing me headaches!

    Thank you

    You have the code to request a copy in your folder:

    $query_listUser = 'SELECT user_id, username, first_name, family_name, admin_priv from users ORDER BY family_name ASC';

    $listUser = mysql_query ($query_listUser, $connSCFDIR) or die (mysql_error ());

    $row_listUser = mysql_fetch_assoc ($listUser);

    $totalRows_listUser = mysql_num_rows ($listUser);

    $query_listUser = 'SELECT username, first_name, family_name, admin_priv from users ORDER BY family_name ASC';

    $listUser = mysql_query ($query_listUser, $connSCFDIR) or die (mysql_error ());

    $row_listUser = mysql_fetch_assoc ($listUser);

    The $listUser table will contain the results of the second query, which does not include the field user_id. delete the redundant code.

  • primary key for the table

    I have a Gr_order table that was settled long ago, and now he needs to be filled
    with some more search data.

    "Orderid" is a primary key for the table, but the question is how can I insert "orderid" in the insert statement in the procedure. I couldn't find any name sequence. There are 1230
    documents that must be inserted.
    Desc Gr_order
    Orderid  Number Primary key
    Desc     Varchar2
    INSERT INTO gr_order (orderid,desc)  
    VALUES (???, upper(each_pom.desc);
    Thank you
    Sandy

    You can find the code that inserts into the table and see if it uses the sequence ;-). A sequence is not 'attached' to a particular table - this is the insert statement to determine whether a sequence should be used.

    You can check if the table has a trigger - some developers like to emulate the behavior of MS - sql server by having a trigger on the table that selects in a sequence. If it has such a release, then you just do your insertions without specifying order_id. But if the table does not have such a release, then you cannot know if the table was originally filled using a sequence or not (unless you can find the instructions for inserting somewhere).

  • updated primary key of the problem 10 gr 2 (10.1.2.0.1)

    Primary key can be updated... How to protect

    iloveoracle wrote:
    Primary key can be updated...

    Yes - longer updating does not violate constraint primary key

    How to protect

    Trigger.

  • How to get the primary key of the node selected in af:tree

    Hi all

    I use JDeveloper 11.1.1.5.0.

    I want to get the primary key of the node selected in the af:tree element. I wrote the code below in SelectionListener:
        public void drzewkoRwaSelectionListener(SelectionEvent evt) {
            RichTree tree = (RichTree)evt.getSource();
            TreeModel model = (TreeModel)tree.getValue();
            RowKeySet rowKeySet = evt.getAddedSet();
            Object key = rowKeySet.iterator().next();
            
            model.setRowKey(key);
       
            System.out.println(rowKeySet);
            System.out.println(rowKeySet.size());
    The result looks like this:
    [[oracle.jbo.Key[5 ], oracle.jbo.Key[6 ], oracle.jbo.Key[12 ],oracle.jbo.Key[14 ]]]]
    1
    I need the values of the last 2 nodes:
    1: oracle.jbo.Key [14]
    2: oracle.jbo.Key [12]

    How can I get?

    Kind regards
    Wojtek.

    Hello

    Try this code:

    {} public void drzewkoRwaSelectionListener (evt SelectionEvent)
    RichTree tree = (RichTree) evt.getSource ();
    Model TreeModel (TreeModel) = tree.getValue ();
    RowKeySet rowKeySet = evt.getAddedSet ();
    Key of the object = rowKeySet.iterator () .next ();

    model.setRowKey (key);

    System.out.println (rowKeySet);
    System.out.println (rowKeySet.Size ());

    Object [] keys = rowKeySet.toArray ();
    List (list) = keys [0];
    Keys = list.toArray ();
    * //from the table keys, you can get according to the value you want using as: [2], [3] key *.

  • Primary key for the Table is

    Hello guys,.

    I have a question about the primary key in my fact table. In my fact table, the primary key is a combination of 3 different columns, 2 columns are primary keys in dimension tables 2 diff. Is it normal to have a primary key in a table of facts, which is a combination of 3 different columns. If yes then when us will be important to the OBI tool only 3 columns Phy layer appears as the PK. should I do the other 2 columns as the PK in the physical layer of the OBI tool or can I leave it as it is. Please let me know

    Thank you.

    I did as you asked me to. Can you let me also know what will happen if I do only a single key as PK and let them other 2 touch as it is. This will affect performance in > is it possible or will I get incorrect values?

    No, this will not affect anything, in any case explicitly will give you joined him again in the physical layer.
    But it is advisable to show the key columns in the physical layer of the RPD.

    Thank you
    Vino

  • Returns the primary key of the new line (generated by the trigger) to an insert procedure

    Hello
    I have a table with a primary key (number), which increases with the trigger
    I use a procedure to insert data into this table
    How can I find the primary key of the row inserted to this procedure?

    When you make use of the insert:

    INSERT .... RETURNING key_column INTO variable;
    

    (where key_column is your key on the table column and variable is a variable to store the value of the same data type)

    to get the value in a variable.

  • reason for updating a view rather than on the base table

    Can someone tell me what is the reasons that sometimes we would update a view rather than on the base table? I always thought that we cannot update a view, of course, I am wrong. Thank you

    Hi Welcome to the Forum

    Basically, a view is used to present the data, a different way. He can rely on more than one table and we cannot update a
    Discover directly that contains Sql functions, aggregate functions, a group of Clause and a view created excluding the required columns of the table.

    In all the cases mentioned Instead of trigger is very useful

    Published by: user10862473 on July 28, 2009 07:10

Maybe you are looking for

  • Satellite L650D - 12 M - incorrect authentication device

    Hi all! I ask forgiveness for the bad English! Toshiba Bluetooth Stack v9.10.13 (T) on my laptop and Samsun microsystem MM-E430D. During the synchronization process, I get an error message "authentication incorrect device Samsun MICRO CBA945" (used i

  • resolution of domain Modbus?

    About the 'new' password protected modbus library, anyone know if the master MODbus ethernet force Domain Name Resolution? I am currently on a packet switching, but not network toupillé packets, and find it me impossible to get a communication betwee

  • UltraNav issue with scrolling

    I recently bought a SL410 and am running Windows 7 Pro 32-Bit. I have a problem with a finger and two fingers for scrolling. I've updated the drivers for the Touchpad. But the scrolling works sometimes then sometimes it works and then stops working d

  • WRT54G v7 color Web sites and proxy servers

    I have a wrt54g.when I am connected with ethernet its all right, BUT when I'm connected wireless of some Web sites cannot open and some proxy servers can not be Born like (sjphone, xfire) can someone help me please?

  • cannot access the internet wireless or wired. Not a router problem.

    I'm running windows vista on a dell xps m1330 laptop computer. My computer recently went crazy; blue screen came, said something about a dump of memory and rebooted. I was then invited to enter the product key windows again and re save my copy of win