type a materialized view foreign key constraint?
Hello.I have a materialized view that flows into a single column 'A' two different columns of different tables of a remote database.
I also have a table that has a column 'B', whose values must exist in the column 'A' of the materialized view.
So it's like defining a constraint foreign key of a table to a view, but this is not possible.
Is it possible to do?
I saw some triggers that verify the existence of the 'A' value before insertion in 'B', but this fails when a value is changed or deleted in 'A'
Any suggestions?
Thank you very much.
Published by: user7029403 on 18-ene-2013 03:57
There is no problem of definition of a primary key on a materialized view and then reference it with a foreign key. It works for me:
create database link l1 connect to scott identified by tiger using 'orcl';
create materialized view mv1 as select deptno||dname as a from dept@l1;
alter table mv1 add constraint mv1pk primary key (a);
alter table dept add (fkcol as (deptno||dname));
alter table dept add constraint deptfk foreign key (fkcol) references mv1;
I don't know there is a more elegant solution than to use a virtual column, which seemed the best way to get around the concatenation of two columns in a single
Tags: Database
Similar Questions
-
Entity Association depends on foreign key constraint?
Hello
I use JDeveloper 10.1.3.4 and have a question, as shown in the subject of this announcement. By a design flaw, I added a foreign key on a table constraint at the level of the database for any purpose other than to achieve a relationship between master/detail your. Now the foreign key constraint fell to remedy the irregularity, but I don't know if the application is not a problem on the road.
The application in question has a table named BILL and another table called VALIDATIONS, both with the same primary key composite (LDAP_UID, TERM), where we hear per semester.
BILL is on students, the balance they have, etc. VALIDATION records the commitment, students make:
The foreign key constraint has been added on the table of VALIDATION, validations (LDAP_UID, TERM) reference (LDAP_UID, TERM) BILL. When the data model is accumulated in the application, an entity association was created automatically for this foreign key constraint, and then a link has been created on the association of the entity to achieve the effect mater-detail of the application:BILL ------------------------------------------------ LDAP_UID TERM BALANCE ------------- -------- -------- john.miller 200902 1500 VALIDATIONS ------------------------------------------------ LDAP_UID TERM CONFIRM_NUMBER ------------- -------- -------------- john.miller 200902 0901100005
This foreign key is now asking problem and should be deleted: Bill table contains the data from more than three semesters, whereas student commitments cumulatively saved in the table of VALIDATIONS must be maintained permanently. When data from older semesters are unloaded from the table of BILL, the lines stored in the table of VALIDATION are orphaned.Table: BILL Table: VALIDATIONS Foreign Key: VALIDATIONS(LDAP_UID, TERM) references BILL(LDAP_UID, TERM) Entity object: Bill Entity object: Vallidations Entity Association: ValidationsBillFkAssoc (based on the foreign key) View object: LoggedInStudent (from Bill) View object: OneValidation (from Validations) View link: ValidationByOneStudent (based on ValidationsBillFkAssoc. This achieves master/detail between LoggedInStudent and OneValidation)
I thought that the link of the view and the association of the entity dependent on the foreign key, so I removed before dropping the foreign key in the order listed here:
The master/detail relationship between the two your is still necessary. I added the link display, which now is based on common attributes (LdapUid, term) between the two, rather than based on the association of the entity. The modified application works very well with the database has changed and now the rows in the table of VALIDATION will not be an orphan.Removed usage of of the VO (OneValidation) from the application module Deleted the view link (ValidationByOneStudent) Deleted the entity association (ValidationsBillFkAssoc) Dropped the foreign key in the database
What is interesting and also troubling is that when I run a copy of the application which has been registered before these amendments, on the basis of data which dropped the foreign key constraint, the application still works, with the master-detail and everything. And the dependencies do not seem to matter. But isn't it?
My question is: an entity association requires a corresponding foreign key in the database? If I use the copy of the application before the changes, it will be OK or it will cause unforeseen problems on the road?
Thank you!
Newman
Edited by: J. Newman, October 6, 2009 10:31Hello
If you've proven yourself that in fact there is no dependency between the association and the foreign key constraint. in fact you can create everything that (the primary keys, foreign keys, other constraints) only for your same features if you have nothing
defined in database tables, which is obviously not right approach. and JDeveloper tells you only about the dependence of its use (if you want to delete something that is used some part... e. g VL in AM, EO in VO, VO in AM...)
just to note - it is important to synchronize your OA if you change the definition of the data table. for example if you remove the foreign key of the table then right-click on EO and chose to sync - JDeveloper should acknowledge and ask you
If you want to remove this constraint of EO.Kind regards
Branislav
-
SQL statement error INSERT The conflicted with the FOREIGN KEY constraint
I recently installed a reporting for vmware vsphere software, but I get a SQL error. I opened a request for assistance with vmware, but so far they have not come up with a solution. The error is caused by: com.microsoft.sqlserver.jdbc.SQLServerException: instruction INSERT The conflicted with the FOREIGN KEY constraint 'FK_CB_VSM_NETWORK_VC_ID '. The conflict occurred in database 'VCChargebackVCC02', table "dbo." " CB_VSM_SERVER', column 'VC_ID '. I don't know a lot about SQL, so I'm lost in the extent of troubleshooting is concerned. If anyone has any ideas I'd love to hear them.
SQL questions are better posed on Technet. They are better equipped to manage the
http://social.technet.Microsoft.com/forums/en-us/categories/
-
Hello
Data Modeler is a foreign key constraints do not recognize when synchronizing data with the model dictionary, although the foreign key is there (in the database that a data dictionary is read). I can't find any criterion when a foreign key is not recognized by the Data Modeler. Are there limits to the length of the attribute, or the number of columns in a foreign key, or other limitations which may lead to this behavior not to recognize a fk by Data Modeler? I have columns more than 32 characters. I compared with the fk is recognized by DM, but I can't find anything that indicates why it is not recognized.
I wonder if someone also has constraints of foreign keys that are not recognized in the comparison of data bases and model?
Thank you
Robert
Hi Robert,.
Thanks for the comments, I logged a bug.
Philippe
-
How to associate an index with a foreign key constraint
I understand how to associate a primary key constraint or a Unique key constraint index...
Yet I don't see how to associate the index of a foreign key constraint. Is this possible?
Thank you
Bob LarsenHi Bob,
In Data Modeler, physical model for Oracle primary and unique keys dialog boxes offer an Index field using, which is used to generate the 'using_index_clause' in the DDL for primary and Unique key constraints.
However the Oracle Database DDL does not have the "using_index_clause" for Foreign Key constraints, thus Data Modeler does not provide this feature for foreign keys.So, you will need to create a separate Index that uses the same columns as the foreign key (using the index page of the table properties dialog box in the relational model).
David
-
in the setup of freshclient and datadownload foreign key constraint
Hello
I use oracle database 10 GB lite R3 and oracle database 10g R2 as the database back end for her. When I do the client installation fees and datadownload of the client machine I don't get the foreign key constraint in the machune of customer. can someone explain to me the reason for this?
Published by: 793097 on November 9, 2010 21:57The Mobile Server deploy foreign keys out of the box. You will need to add them through scripting. You can add scripts in the MDW or API.
Let me know if you need an example.
-
Details of the foreign key constraints
Why foreign key constraints is not ongoing validation in case of null values?
For example, in the table EMP and DEPT table, EMP. References DEPTNO Dept. DEPTNO.
But I am able to insert rows into the EMP table that contains nulls for EMP. DEPTNO.Prasath N wrote:
Why foreign key constraints is not ongoing validation in case of null values?
For example, in the table EMP and DEPT table, EMP. References DEPTNO Dept. DEPTNO.
But I am able to insert rows into the EMP table that contains nulls for EMP. DEPTNO.I guess he's saying essentially that a foreign key must have a parent key or can be an orphan. But may not be a key that is not listed in the parent.
And also NULL is neither equal to anything, nor does not correspond to something.
But still, you can put a NOT NULL constraint if you do not want your foreign key to contain orphaned records.
-
Is this a BUG? Export of data besides the foreign key constraints
I use SQL Developer 1.5.4 with patches installed 59,47 and 59,59. I want to do an export of database from a scheme of 10 g XE and include all objects in the DOF resulting. So I select ALL the checkboxes in the Export Wizard and when I get to step 3 to specify the objects, I don't see any of my constraints in the list box... not foreign key constraints, without constraints of primary key, without check constraints, nothing. Is this a bug, or is there a workaround, or which could possibly hurt? We want to be able to use the database export function to easily transport and track the changes to our entire schema using source control compares.
Any help or suggestions replacement would be apprieciated.
Thank you
MattBug 8679318 follows this question
-
Create a foreign key constraint against a different schema
Hi all
I use the oracle 10g r2 on windows 2003 server database.
I have a table in the HRMS as STAFF.
I have another INVENTORY schema, where I want to access a column as a foreign key in HRMS. STAFF (STAFF_ID).
What exactly I have to grant so this diagram of the INVENTORY will be able to create a referential constraint?connect hrms/hrms@orcl grant select on STAFF to INVENTORY; connect inventory/inventory@orcl alter table inv_details add constraint fk_inv_hr_staff foreign key (staff_id) references HRMS.STAFF(STAFF_ID); Error report: SQL Error: ORA-00942: table or view does not exist 00942. 00000 - "table or view does not exist"
Kind regards.You must also grant the privilege of REFERENCES.
See privileges in table 18-2 at http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_9013.htm#BGBCIIEG
Hemant K Collette
-
How to create a foreign key constraint on a table nested column
Dear Experts,
I create 2 tables using the object type. the VESSEL_PARAM table contains the list of the parameters allowed.
The table VESSEL_TYPE containe single item we list some parameters.
On this table, I love the column VESSEL_PARAM table VESSEL_PARAM to check if the settings are and the reference value is allowed.
How to create a foreign key?
Here my script that generates this runtime error: 00904. 00000 - '% s: invalid identifier' on this line
ALTER TABLE VESSEL_PARAM_TAB ADD CONSTRAINT FK_VESSEL_TYPE FOREIGN KEY (NAME, DATA_VALUE)
REFERENCES VESSEL_PARAM (PARAM_NAME, LIST_PARAM_VALUE. DATA_VALUE)
Thank youCREATE OR REPLACE TYPE OBJ_PARAM_VALUE AS OBJECT ( DATA_VALUE VARCHAR2(20) ,DESCRIPTION VARCHAR2(125) ) NOT FINAL; / CREATE OR REPLACE TYPE LIST_PARAM_VALUE AS TABLE OF OBJ_PARAM_VALUE; / -- derive object subtype from object supertype CREATE OR REPLACE TYPE OBJ_PARAM_NAME UNDER OBJ_PARAM_VALUE ( NAME VARCHAR2(30) )NOT FINAL; / CREATE OR REPLACE TYPE LIST_PARAM_NAME AS TABLE OF OBJ_PARAM_NAME; / Prompt create table VESSEL_PARAM; CREATE TABLE VESSEL_PARAM ( PARAM_NAME VARCHAR2(20) NOT NULL ,PARAM_DESC VARCHAR2(125) ,PARAM_VALUE LIST_PARAM_VALUE ,CONSTRAINT PK_VESSEL_PARAM PRIMARY KEY (PARAM_NAME) ) NESTED TABLE PARAM_VALUE STORE AS PARAM_VALUE_TAB TABLESPACE CMS_ADMDATA; / ALTER TABLE PARAM_VALUE_TAB ADD CONSTRAINT UN_PARAM_VALUE_TAB UNIQUE (DATA_VALUE); / SHOW ERROR; Prompt create table CMS_ADM.VESSEL_TYPE; CREATE TABLE CMS_ADM.VESSEL_TYPE ( VESSEL_TYPE VARCHAR2(20) NOT NULL ,VESSEL_DESC VARCHAR2(125) ,VESSEL_PARAM LIST_PARAM_NAME ,CONSTRAINT PK_VESSEL_TYPE PRIMARY KEY (VESSEL_TYPE) -- ,CONSTRAINT FK_VESSEL_TYPE FOREIGN KEY (VESSEL_PARAM) -- REFERENCES VESSEL_PARAM (PARAM_NAME) ) NESTED TABLE VESSEL_PARAM STORE AS VESSEL_PARAM_TAB TABLESPACE CMS_ADMDATA; / ALTER TABLE VESSEL_PARAM_TAB ADD CONSTRAINT UN_VESSEL_PARAM_TAB UNIQUE (NAME); ALTER TABLE VESSEL_PARAM_TAB ADD CONSTRAINT FK_VESSEL_TYPE FOREIGN KEY (NAME,DATA_VALUE) REFERENCES VESSEL_PARAM (PARAM_NAME,LIST_PARAM_VALUE.DATA_VALUE) / SHOW ERROR;
SalvatoreCould you please indicate your answer as correct if you judge them correct.
Best regards
Mohamed Houri
-
ORA-12028: type of materialized view is not supported by the main site
Hi guys!
We face a problem these days about the materialized view.
We have upgraded database version 9.2.0.7 directly to 10.2.0.5 (RHEL4 x 86) on the same host. Database uses the driver dg4odbc to connect with remote SQL Server 2012 through data binding called MIKSERI. Our developer team would like to have replicated SQL server table data side Oracle using the materialized view.
They created Materialized view, but it is not at all to refresh the data. I tried to study a little bit, and whenever I try to change the view anyway I hit error:
ORA-12028: view type is not supported by the master site materialized @ 'MIKSERI '.
ORA-06512: at line 22
I looked at the solutions proposed and discovered that it is maybe the compatible database parameter, so I changed from previous 9.2.0.0.0 to 10.2.0.1.0 but still no luck. Just to emphasize this database is of course different clone of production to a different database, with db name retained and other parameters, but on another host computer and listening port. I even try to change global name, but still no luck.
Main problem is that refresh the work does not at all. To be more precise, we have created MV on the side of the Oracle and FULL Refresh should be done every 3 minutes. MV uses HS db link to the sql server database.During the creation of MV, we can see currently given to sql server, but the problem is that we cannot do MV to refresh every 3 minutes. When I try to change MV and put the refresh interval I get above error.
Any kind of help would be greatly appreciated,
Thank you
I found the reason why my MV update jobs failed, job_queue_processes parameter was equal to 0. I change this setting and now works fine.
Thank you for your time!
-
Update fails because of a foreign key constraint
Hello.
I have several tables in my database but 3 are important. One of them is used (Employee_ID, Last_Name and other irrelevant columns name), dentist (employe_id, Qualifications) and Wizard (Employee_ID, Qualifications).
I am applying in Oracle Application Express and trying to update a row in the Employee table, I get an ORA-20505: error in DML: p_rowid = 96, p_alt_rowid = employe_id, p_rowid2 =, p_alt_rowid2 is. ORA-02292: integrity constraint (DB. Dentist_CON) violated - book of the foundling
Now, first of all, I had the same problems with the removal of lines, but I've solved that by adding a delete cascade on foreign keys.
I have key constraints foreign both in my paintings dentist and Assistant in columns Employee_ID and these refer to Employee_ID in the Employee table.
When I update anything in my Express request form, I've allowed users to do anything of my Employee table primary key (employe_id). Any changes that might occur therefore columns unrelated to the primary key. For example, if I change the name of a particular line column I can't update because I get the above error.
I don't understand why this is happening.
If I could get a glimpse, why this is happening or using any I would be very happy.
Thanks in advance.982909 wrote:
But it is not true. If I'm changing the name of the employee and update this line in employee WITHOUT changing the value of Employee_ID how can I possibly change the daughter line? This is what is confusing in that me and I have no idea on how to solve it.the code below shows above is NOT true
CREATE OR REPLACE TRIGGER "Employee_T1".
FRONT
Insert or update on "employee."
for each line
Start
Select employee_sequence.nextval in: double new.employee_id;
end;
/TRIGGER above changes EMPLOYEE_ID for all training update!
-
Rename the foreign key constraint
Hello
I have table tbl_a with a column a_col1 SEO tbl_b.b_col1
I want to create the name of the foreign key as FK_A_COL1 constraint which is FK_ < COLUMN NAME OF the CHILD >.
Foreign naming key standards does not have the use of the name of the child under the name column.
Is there any other solution/script to achieve this?
Thank you.fkeys = model.getFKIndexAssociationSet().toArray(); for (var i = 0; i
;//also can use fk.getTable().getAbbreviation()fkname = "FK_"+fk.getTable().getName();cols = fk.getColumns();for( var k = 0;k -
Oracle Database 11 g Release 11.2.0.1.0 - 64 bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
AMT for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
Hi all.
I'm having a problem to add a foreign key to a table constraint, and I was wondering if anyone had any ideas.
I did my example about as simple as you can get.
CREATE TABLE tparent)
PID NVARCHAR2 (10) NOT NULL,
PID2 NVARCHAR2 (10) NULL);
CREATE UNIQUE INDEX ui_tparent ON tparent (pid);
(Tchild) CREATE TABLE
CID NVARCHAR2 (10) NOT NULL,
CID2 NVARCHAR2 (10));
CREATE UNIQUE INDEX ui_tchild ON tchild (cid);
ALTER TABLE ADD CONSTRAINT fk_tc_to_tp FOREIGN KEY (cid) tchild REFERENCES tparent (pid);
Error report:
SQL error: ORA-02270: no unique or primary key corresponding to this column list
02270 00000 - 'no matching unique or primary key to this list of columns.
* Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement
gives a list of columns for which there is no unique or primary match
key in the referenced table constraint.
* Action: Find the names of correct column using the ALL_CONS_COLUMNS
display catalog
??? Which - as you can see I have a unique index - ui_tparent.
This works fine if I use a PRIMARY KEY and a UNIQUE INDEX?
That is to say
ALTER TABLE ADD CONSTRAINT pk_tparent PRIMARY KEY (pid) tparent;
Ora docs say that in order to create a parent needs a UI PK or FK.
Any ideas?
Kind regardsas I say the mistake:
no unique or primary key corresponding to this column list
It takes a unique or primary key and a unique index is not a unique key.
SQL> CREATE TABLE tparent( pid NVARCHAR2(10) NOT NULL, pid2 NVARCHAR2(10) NULL); 2 3 Table created. SQL> alter table tparent add constraint tparent_uk unique (pid); Table altered. SQL> CREATE TABLE tchild( cid NVARCHAR2(10) NOT NULL, cid2 NVARCHAR2(10)); 2 3 Table created. SQL> ALTER TABLE tchild ADD CONSTRAINT fk_tc_to_tp FOREIGN KEY (cid) REFERENCES tparent(pid); Table altered. SQL>
-
stored procedure to disable all foreign key constraints?
Hi all
I need a stored procedure to disable / enable all the constraints in the database schema.
Create or replace procedure enable_disable_proc (status varchar2 schema_name varchar2 (20)) (3).
......
....
...
-> where the 'status' parameter condition must be (YES to activate) (NO to disable)
-> 'schema_name' is a setting where, this scheme should be affected by this procedure.
Thanks in advance...Sorry Raineau, you have said foreign keys in the thread title, constraints cannot be turned on and off like that.
So for foreign keys:
CREATE OR REPLACE PROCEDURE enab_disab_proc ( status IN VARCHAR2, current_schema IN VARCHAR2 ) IS BEGIN FOR cur_rec IN (SELECT table_name, constraint_name FROM user_constraints WHERE owner = current_schema AND constraint_type = 'R') LOOP EXECUTE IMMEDIATE 'ALTER TABLE ' || cur_rec.table_name || CASE status WHEN 'YES' THEN ' ENABLE ' ELSE ' DISABLE ' END || 'CONSTRAINT ' || cur_rec.constraint_name; END LOOP; END; /
Maybe you are looking for
-
Not a problem/w Firefox - I was wondering if there is a way to enter the special characters and characters (not on the keyboard) in the text boxes? I remember that there is a keyboard sequence that activates a context menu allowing the single charact
-
Satellite L755 - 1 6 - host USB 3.0 controller shows yellow flag suddenly
I bought a 6 w / Windows7 L755 - 1 x 64 a few days ago. "Renesas Electronics USB 3.0 Host Controller" was working properly, I am using a CnMemory Core 1.5 TB drive. I used the drive in the last days and the transfer speed was fast. Unfortunately toda
-
How to programmatically (in my code LV) determine if a file is opened in Notepad? And if the file is opened how can I close the notebook from my labview code programmatically?
-
I had found information several months ago on how to remove and clean the print head, but I can't find it now. I replaced the Photosmart C6380 with a 6515 Photosmart because when the 6380 stopped working I had to buy a large amount of ink and the 65
-
"Task manager" and Norton AV cpu use 100% constantly, always etc.
I'm looking at my roommate pc and same problem. under Win XP, SP3. To run any program takes about 5 full minutes. CPU use 100% in Norton Anti Virus (NAV) or the Task Manager. For now I'm just using taskmanger to see the %. The only way to get to