Modifying column adding primary key constraint
how can we alter a table and modify a column and add a primary key constraint to it??
987018 wrote:
can't we add a primary key constraint using the modify command?If the column already exists, and ther is no existing primary key, then
SQL> create table t (id number, descr varchar2(10));
Table created.
SQL> alter table t modify (id not null primary key);
Table altered.If the column does not yet exist and ther is no primary key then:
SQL> create table t1 (descr varchar2(10));
Table created.
SQL> alter table t1 add (id number not null primary key);
Table altered.John
Similar Messages
-
what will happen if i do this??
alter table emp
add primart key(employee_id,last_name);
is there going to be two primary keys in the table ??
or what??987018 wrote:
what will happen if i do this??
alter table emp
add primart key(employee_id,last_name);
is there going to be two primary keys in the table ??
or what??It will come up with an error, unless you change 'primart' to primary'.
If you do, you will only get one primary key which requires the combination of the two columns to be unique.
So you could insert two rows with same employee id but different names! Not a good idea.
Just use employee id as the primary key.
Note: you can have only one primary key for a table but you can have lots of unique constraints. -
SQL Server - primary key constraint modify
Hi,
I have a table with many records. I wanted to modify the primary key constraint. The only way to alter the primary key constraint is to drop and create again. Please let me if it is right.
Can we create primary key constraint with NoCheck. Since we have lots of records in our table, creating primary key constraint takes more time because it is checking the existing data. Please provide your comments.
Thanks.>>I have a table with many records. I wanted to modify the primary key constraint. The only way to alter the primary key constraint is to drop and create again. Please let me if it is right.
http://technet.microsoft.com/en-us/library/ms181043(v=sql.105).aspx
Note
To modify a PRIMARY KEY constraint, you must first delete the existing PRIMARY KEY constraint and then re-create it with the new definition.
>>Can we create primary key constraint with NoCheck. Since we have lots of records in our table, creating primary key constraint takes more time because it is checking the existing data. Please provide your comments.
http://msdn.microsoft.com/en-IN/library/ms188066.aspx
When FOREIGN KEY or CHECK constraints are added, all existing data is verified for constraint violations unless the WITH
NOCHECK option is specified. If any violations occur, ALTER TABLE fails and an error is returned. When a new PRIMARY KEY or UNIQUE constraint is added to an existing column, the data in the column or columns must be unique. If duplicate values are found, ALTER
TABLE fails. The WITH NOCHECK option has no effect when PRIMARY KEY or UNIQUE constraints are added.
Satheesh
My Blog |
How to ask questions in technical forum -
Modify a primary key constraint
Hi,
I'm starting with oracle, and I have two doubts that can't handle after searching on the internet.
1º It's possible to make an ALTER TABLE of a CONSTRAINT DEFAULT?. Maybe you think that the question should be in another way like this: Does oracle database take the default condition as a constraint?. As long as I know, doesn't do that.
2º It's possible, with an ALTER TABLE, to MODIFY a CONSTRAINT of a PRIMARY KEY, to add another more field?
I've been searching on the internet, but I didn't find a clear answer. I'm using oracle 10g express edition.
Thank you very much.
P.D.:Sorry for my english it's not very good.#2 - You can not 'add a column to the primary-key constraint of a table' with a single ALTER, but you can drop and re-create the primary key constraint (including the additional column).
13:25:26> create table t1 (a number primary key, b number, c number );
Table created.
Elapsed: 00:00:00.09
13:25:46> alter table t1 drop primary key;
Table altered.
Elapsed: 00:00:00.06
13:25:47> alter table t1 add primary key (a,b);
Table altered.
Elapsed: 00:00:00.09But you will not be able to drop the primary key of an index-organized table.
13:25:47> create table t2 (a number primary key, b number, c number ) organization index;
Table created.
Elapsed: 00:00:00.03
13:25:59> alter table t2 drop primary key;
alter table t2 drop primary key
ERROR at line 1:
ORA-25188: cannot drop/disable/defer the primary key constraint for
index-organized tables or sorted hash cluster
Elapsed: 00:00:00.00
13:25:59> #1 - I'm not sure I understand your question , but you can alter a table's column to have a default. This is not a 'constraint', but a default. It only has effect when you perform an insert which does not include that column.
13:31:23> alter table t1 modify (c default 3.14);
Table altered.
Elapsed: 00:00:00.04
13:31:24> insert into t1 (a,b,c) values (1,2,3);
1 row created.
Elapsed: 00:00:00.01
13:31:24> insert into t1 (a,b,c) values (4,5,NULL);
1 row created.
Elapsed: 00:00:00.00
13:31:24> insert into t1 (a,b) values(6,7);
1 row created.
Elapsed: 00:00:00.01
13:31:24> select * from t1;
A B C
1 2 3
4 5
6 7 3.14
3 rows selected.
Elapsed: 00:00:00.18 -
Materialized View - does not contain a primary key constraint
I am trying to create materialized view. I gone through the MV wizard creation. Added 2 columns (foo_column, foo_pk) of the table and have a simple select statement (Select foo_column from foo_dim). Also created a primary key contrainst and refencing the primary key (FOO_PK) of the dimension.
I am getting the following error:
ORA-12014: table 'FOO_DIM' does not contain a primary key constraintIt was solved. The table that I am querying has to have a primary key defined before creating a materialized view.
-
Ora-2270 Error while adding foreign key constraint on top a view
While adding a constraint, referencing a foreign key column from a view raises error. However, it works fine over a table.
Here's the sample script:
create table t_temp (
sample_id number,
text varchar2(40))
alter table t_temp add constraint temp_pk
primary key (sample_id);
create view tempvw as select sample_id,text from t_temp;
create table t_sample (
uniq_id number,
sample_id number,
sample_text varchar(40));
=========
ALTER TABLE t_sample ADD CONSTRAINT FK_sample_temp
FOREIGN KEY (sample_id) REFERENCES t_temp (sample_id);
This works fine.
=========
==============
The following raises ERROR....
ALTER TABLE t_sample ADD CONSTRAINT FK_sample_temp1
FOREIGN KEY (sample_id) REFERENCES tempvw (sample_id);
Error starting at line 1 in command:
ALTER TABLE t_sample ADD CONSTRAINT FK_sample_temp1
FOREIGN KEY (sample_id) REFERENCES tempvw (sample_id)
Error report:
SQL Error: ORA-02270: no matching unique or primary key for this column-list
02270. 00000 - "no matching unique or primary key for this column-list"
*Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement
gives a column-list for which there is no matching unique or primary
key constraint in the referenced table.
*Action: Find the correct column names using the ALL_CONS_COLUMNS
catalog viewWhat exactly are you trying to accomplish by having a
referential integrity constraint on a view (which is
not allowed). PKs and FKs are allowed on views. DISABLE NOVALIDATE is the only allowed state for them. View constraints are used for query rewriting: http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/qradv.htm#sthref1457
Regards,
Dima -
Violation of PRIMARY KEY constraint . Cannot insert duplicate key in object
hi i am using SQL Server, when i try to insert data from my jsp page it is inserting the data double time and when i try to submit for second time it is showing the following error.
Violation of PRIMARY KEY constraint 'PK_EMPLOYEE'. Cannot insert duplicate key in object 'EMPLOYEE'.
I didnt set identity for primary key. If i try to set identity to true then it is allowing data to submit only if i uncheck my primary key column in cached row set. And if i uncheck that primary key element then i can not retrieve the data by edit button. So how to solve this problem.
Please any help would be appreciated.
Thank You in Advance.Hi,
I am providing support to one of our clients, where we have jobs scheduled to load the data from the tables in the source database to the destination database via SSIS packages. The first time load is a full load where we truncate all the tables in the destination
and load them from the source tables. But from the next day, we perform the incremental load from source to destination, i.e., only modified records fetched using changed tracking concept will be loaded to the destination. After full load, if we run the incremental
load, the job is failing with the error on one of the packages "Violation of PRIMARY KEY constraint. Cannot insert duplicate key in object '<tablename>'. The duplicate key value is <1234>, even though there are no duplicate records. When we
try debugging and running the failing package, it runs successfully. We are not able to figure out why the package fails and when we run the next day it runs successfully. Request you to help me in this regard.
Thank you,
Bala Murali Krishna Medipally.
I suspect you are trying to insert modified records instead of updating. -
Altering Primary Key constraint on a table i Oracle 10G
Hi All,
Can anyone tell me how to alter a primary key constraint on any table. My concern is that, suppose i have a table called 'Employee' where only 'EmployeeName' is added as a primary ket constaint. Now i want to alter this P.K. constarint to add 'EmployeeName' and 'DateOfBirth' as a primary key. Can anyone suggest me how can i achieve that? Any help will be highly appreciated.hi,
you need to drop the constraint and recreate it.
SQL> conn scott/tiger@alpspso
Connected.
SQL> create table test (id number constraint id_pk primary key,name varchar(30));
create table test (id number constraint id_pk primary key,name varchar(30))
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> create table test_table (id number constraint id_pk primary key,name varchar(30))
Table created.
SQL> alter table test_table modify constraint id_pk primary key(id,name);
alter table test_table modify constraint id_pk primary key(id,name)
ERROR at line 1:
ORA-00933: SQL command not properly ended
SQL> alter table test_table modify constraint id_pk(id,name);
alter table test_table modify constraint id_pk(id,name)
ERROR at line 1:
ORA-00933: SQL command not properly ended
SQL> alter table test_table modify primary key(id,name);
alter table test_table modify primary key(id,name)
ERROR at line 1:
ORA-00933: SQL command not properly ended
SQL> alter table drop constraint id_pk;
alter table drop constraint id_pk
ERROR at line 1:
ORA-00903: invalid table name
SQL> alter table test_table drop constraint id_pk;
Table altered.
SQL> alter table test_table add constraint id_pk primary_key(id,name);
alter table test_table add constraint id_pk primary_key(id,name)
ERROR at line 1:
ORA-00902: invalid datatype
SQL> alter table test_table add constraint id_pk primary key(id,name);
Table altered.
Regards.
Navneet -
Altering Primary Key Constraint
hi this may sound silly .
but is it possible to alter a primary key constraint and add another column to it ?
eg. >desc t1
c1 number(3) not null
c2 number(3)
here I have created primary key on column c1.
Now I want to alter this constraint and add second column also as part of primary key constraint (so that it will be composite primary key )
How do i do that ? Do the column needs to be empty ?
ThanksYou should use ALTER TABLE DROP CONSTRAINT / ADD CONSTRAINT option.
Do the column needs to be empty ?Because primary key constraint supposes NOT NULL constraints for columns
included into primary key, all columns havn't to have nulls values (NOT NULL constraint will be added to c2 column):
SQL> create table t1 (c1 number(3) not null, c2 number(3));
Table created.
SQL> alter table t1 add constraint t1_pk primary key(c1);
Table altered.
SQL> insert into t1 values(1,1);
1 row created.
SQL> insert into t1 values(2,null);
1 row created.
SQL> commit;
Commit complete.
SQL> alter table t1 drop constraint t1_pk;
Table altered.
SQL> alter table t1 add constraint t1_pk primary key (c1,c2);
alter table t1 add constraint t1_pk primary key (c1,c2)
ERROR at line 1:
ORA-01449: column contains NULL values; cannot alter to NOT NULL
SQL> update t1 set c2 = 3;
2 rows updated.
SQL> alter table t1 add constraint t1_pk primary key (c1,c2);
Table altered.
SQL> desc t1
Name Null? Type
C1 NOT NULL NUMBER(3)
C2 NOT NULL NUMBER(3)Rgds. -
How can I undestand at runtime witch column is primary key in a table
Hello
I write program at CBuilder and i have that problem:
In runtime application takes a table (in deign time there are no information about the table) and i want to understand at runtime witch columns are primary keys (or part of it) and witch column(s) is foreign key?
Should i look in meta data in database ?
Please helpuser10860289 wrote:
Hello
I write program at CBuilder and i have that problem:
In runtime application takes a table (in deign time there are no information about the table) and i want to understand at runtime witch columns are primary keys (or part of it) and witch column(s) is foreign key?
Should i look in meta data in database ?
Please helpI am afraid that this is not possible. There isn't anything which would reveal this detail to you at run time that which column(s) are a part of the referential constraints. This is not visible even in the description of the table(s) also using Describe command too. The only way would be to check the status of the table and its related constraints in the dictionaries, DBA_CONSTRAINTS or DBA_CONS_COLUMNS .
HTH
Aman.... -
Unable to enforce Primary Key constraint with my code
Hi Guys
I have a table that contains 2 columns: code and description (defined as not null). I am using oracle forms 10g, if I inset a new row both the columns: code and description should have data e.g. code: 001 and description: Main Store...
So on forms I have an on-update trigger on block level that handles the error messages but if the user has to update the description this trigger blocks him because the value for the code i.e. 001 is already on the database but if I remove the piece of code (the first IF block on my code together with a cursor and the entire declaration section)then the primary key constraint is violated: the code is as follows:
declare
v_store_code store_types.code%type;
cursor store_codes is
select a.code
from store_types a
where a.code = :b1.code;
begin
open store_codes;
fetch store_codes into v_store_code;
if ( store_codes%found ) then
Message('The Store Code you have entered already exists on the Store_Types table, please enter another code!');
Message('The Store Code you have entered already exists on the Store_Types table, please enter another code!');
close store_codes;
raise form_trigger_failure;
end if;
close store_codes;
if :b1.code is not null and :b1.description is null then
message('If the Store Code has been captured, then the Store Description must be captured!');
message('If the Store Code has been captured, then the Store Description must be captured!');
raise form_trigger_failure;
end if;
if :b1.description is not null and :b1.code is null then
message('If the Store Description has been captured, then the Store code must be captured!');
message('If the Store Description has been captured, then the Store code must be captured!');
raise form_trigger_failure;
end if;
exception
when others then
message(sqlerrm);
raise form_trigger_failure;
end;
My main intention here is: the user should be able to update the description field and save the changes without violating primary key on the column: code ...... please help me guys...ICM
Sir as far I could understand , your problem is that your wanna allow the end users to update the Store_description , and Store_code..
So on forms I have an on-update trigger on block level that handles the error messages but if the user has to update the description this trigger blocks him because the value for the code i.e. 001 is already on the databaseif it's right then why don't you have unique key constraints Store_description?
alter the tables and apply unique key constraint...
and no need to write this code
f :b1.code is not null and :b1.description is null then
message('If the Store Code has been captured, then the Store Description must be captured!');
message('If the Store Code has been captured, then the Store Description must be captured!');
raise form_trigger_failure;
end if;because as you mentioned
code and description (defined as not null)if they are already under not null constraints then no need to handle this in coding..
he/she must be able to change the description and save the changes without affecting the code i.e.:Sir I think updation in records can only be performed when the forms is in query mode e.g execute query, have all/desired records and then make changes
(1)description is in unique key constraint it can't be duplicated ..
(2)code is PK it can never be duplicated...
for this I would suggest you to have a update button on forms , when-button-pressed trigger sets property of block (update_allowed, property_true);
and check the code of unique key violation code from oracle form's help , when that error code raise up you can show those message
Message('The Store Code you have entered already exists on the Store_Types table, please enter another code!');
Message('The Store Code you have entered already exists on the Store_Types table, please enter another code!');I hope it could do something for you
thanks
regards:
usman noshahi -
IDOC to MSsql, error in mapping(Violation of PRIMARY KEY constraint)
Hi All,
I'm working with MATMAS IDOC to MSSql. My SQL structure is of 8 tables(multiple statements) with primary key. In mapping i have used UPDATE_INSERT in action field for all the tables but still im getting "Violation of PRIMARY KEY constraint" for the last table structure. first 7 tables are single occurances but the 8th structure data is coming multple times from IDOC(E1MARMM).
my 8th table structure is :
STATEMENT8 IDOC(MAPPED)
TABLE8
ACTION UPDATE_INSERT
TABLE TABLENAME
ACCESS 0 to Unbounded MAPPED with E1MARMM
Item_CD used oneasmany +splitbyvalue with MATNR
Plant_ID used oneasmany +splitbyvalue with WERKS
EAN_CAT used oneasmany +splitbyvalue with NUMTP
EAN used oneasmany +splitbyvalue with EAN11
Numerator_For_Conversion_To_BaseUOM
Display_UOM
Denominator_for_conversion_To_baseUOM
KEY 0 to Unbounded MAPPED with E1MARMM
Item_CD used oneasmany +splitbyvalue with MATNR
Plant_ID used oneasmany +splitbyvalue with WERKS
EAN_CAT used oneasmany +splitbyvalue with NUMTP
EAN used oneasmany +splitbyvalue with EAN11
Display_UOM
in test tab its fine and fetching number of times according to MARMM segments but in END to END testing its triggering an error stating that
""Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'MM_EAN' (structure 'STATEMENT8'): com.microsoft.sqlserver.jdbc.SQLServerException: Violation of PRIMARY KEY constraint 'PK_MM_EAN'. Cannot insert duplicate key in object 'dbo.MM_EAN'. ""
Plz help me regarding this..Hi team,
How resolve the below error
Violation of PRIMARY KEY constraint 'PK_test'. Cannot insert duplicate key in object 'dbo.test'. The duplicate key value is (12610). (Source: MSSQLServer, Error number: 2627) ?
Thanks,
Ram
RAM
There can be two reasons
1. The insert script used is having multiple instances of the records with Key as 12610 returned from the source query. If this is the issue add a logic to include only the unique set of id values for records by avoiding duplicates. There are several approaches
for this like using ROW_NUMBER with PARTITION BY, using a join with derived table etc
2. The record with Key 12610 already exist in your destination table and your script is again trying to insert another instances of record with same key. This can be avoided by adding a NOT EXISTS condition with a subquery which will check and return only
those records which doesnt already exist in the source
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 -
HI,
We have done following changes to Production environment.
1. Migrated Application from 2007 to 2010
2. Done User Domain Migration user MoveSP-User commmand
3. Then we Run following command to block users from another domain.
Set-SPSite -Identity 'SiteName' -UserAccountDirectoryPath "DC=xxx,DC=xxx,DC=xxx"
After All above changes, application were working fine without a single bug. all Operation are working fine. Then suddenly from 2 days below error coming in ULS log.
This error is thrown on item.update();
Unknown SPRequest error occurred. More information: 0x80131904
System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'AllUserDataJunctions_PK'. Cannot insert duplicate key in object 'dbo.AllUserDataJunctions'. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException
exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler,
SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBeh...
avior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String
method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.SharePoint.Utilities.SqlSession.ExecuteReader(SqlCommand
command, CommandBehavior behavior, SqlQueryData ...
...monitoringData, Boolean retryForDeadLock)
at Microsoft.SharePoint.SPSqlClient.ExecuteQueryInternal(Boolean retryfordeadlock) at Microsoft.SharePoint.SPSqlClient.ExecuteQuery(Boolean retryfordeadlock) at Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrUpdateItem(String
bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames,
Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback,
ISP2DSafeArrayWriter pUniqueFieldCallback) at Microsoft...
....SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId,
String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback,
ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback) at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration,
Boolean bPublish, Boolean bCheckOut, Boolean bCheckin,...
SqlError: 'Violation of PRIMARY KEY constraint 'AllUserDataJunctions_PK'. Cannot insert duplicate key in object 'dbo.AllUserDataJunctions'.' Source: '.Net SqlClient Data Provider' Number: 2627 State: 1 Class: 14 Procedure: 'proc_CreateItemJunctionsVersion'
LineNumber: 9 Server: 'xxxxxxxxx\xxxxx' a035fb89-0a86-4817-b531-f20a537a002a
SqlError: 'The statement has been terminated.' Source: '.Net SqlClient Data Provider' Number: 3621 State: 0 Class: 0 Procedure: 'proc_CreateItemJunctionsVersion' LineNumber: 9 Server: 'xxxxxxxx\xxxxxxx' a035fb89-0a86-4817-b531-f20a537a002a
Please help!!!
I am unable to find any solution.
Regards,
Yogesh Ghare
EDIT - Just adding some extra points that come from observation .
1. This Error comes when following scenario is true
First Attempt: User udated item in List "Issue Tracking" from Datasheet view
Second Attempt: User udate the same item in list from "Sharepoint UI or Custom aspx form".. After clickin on Save button this erro comes up.
Third Attempt: If after error user updates the same itme from UI the the data get saved
OR
Third Attempt : If after error user updates the same itme from datasheet view User get Unresolve data confilct again and again.
Above Scenario is true only for Existing items in lists. For Newly added Items this is not producible(erroe not generated).One of the ovbservation is that All the items which are having issue are migrated from 2007 to 2010Hello,
I have the exact same issue. SharePoint List which is causing this issue has got around 140 fields (All kinds of field types).
Do this happen only if there is a migration from one version to other?
This List is created using custom code - List Instance and not using Out of box SharePoint.
Please let me know if recreating the list (using OOB) or any other fix will resolve this issue.
Below is the ULS log:
Unknown SPRequest error occurred. More information: 0x80131904
System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x80131904
at Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion,
Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties,
Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion,
Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin,
Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'AllUserDataJunctions_PK'. Cannot insert duplicate key in object 'dbo.AllUserDataJunctions'.
The duplicate key value is (21b5edcc-6e2d-421f-ad08-5a9e275add8a, 0x, 0, 10724c04-dcbb-4f02-af40-e19a694d015c, a558cc06-6f8a-408d-a1f6-f4b712d68881, 4096, 1, 4e405c39-8677-4ba0-8901-2ca4fa273461, 0). The statement has been terminated. at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior
runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior
runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.SharePoint.Utilities.SqlSession.ExecuteReader(SqlCommand command, CommandBehavior behavior, SqlQueryData monitoringData, Boolean retryForDeadLock)
at Microsoft.SharePoint.SPSqlClient.ExecuteQueryInternal(Boolean retryfordeadlock)
at Microsoft.SharePoint.SPSqlClient.ExecuteQuery(Boolean retryfordeadlock)
at Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32&
plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish,
String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32& plID,
String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish,
String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32&
ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion)
at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents,
String filename, Boolean bPreserveItemUIVersion)
at Microsoft.SharePoint.SPListItem.Update()
at BV.PEL.BL.Common.PublishProject(SPListItem sourceItem, Boolean isFromPublish, SPWeb web, SPSite systemSite, SPFieldUserValueCollection adminGroup, String strComments)
at BV.PEL.Portal.WebParts.OneBVProjectInformation.OneBVProjectInformationUserControl.buttonApprove_Click(Object sender, EventArgs e)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.BLANKWEBPARTPAGE_ASPX_1653093133.ProcessRequest(HttpContext context)
at Microsoft.SharePoint.Publishing.TemplateRedirectionPage.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) -
Hi,
I am providing support to one of our clients, where we have jobs scheduled to load the data from the tables in the source database to the destination database via SSIS packages. The first time load is a full load where we truncate all the tables in the destination
and load them from the source tables. But from the next day, we perform the incremental load from source to destination, i.e., only modified records fetched using changed tracking concept will be loaded to the destination. After full load, if we run the incremental
load, the job is failing with the error on one of the packages "Violation of PRIMARY KEY constraint. Cannot insert duplicate key in object '<tablename>'. The duplicate key value is <1234>, even though there are no duplicate records. When we
try debugging and running the failing package, it runs successfully. We are not able to figure out why the package fails and when we run the next day it runs successfully. Request you to help me in this regard.
Thank you,
Bala Murali Krishna Medipally.Hi,
I am providing support to one of our clients, where we have jobs scheduled to load the data from the tables in the source database to the destination database via SSIS packages. The first time load is a full load where we truncate all the tables in the destination
and load them from the source tables. But from the next day, we perform the incremental load from source to destination, i.e., only modified records fetched using changed tracking concept will be loaded to the destination. After full load, if we run the incremental
load, the job is failing with the error on one of the packages "Violation of PRIMARY KEY constraint. Cannot insert duplicate key in object '<tablename>'. The duplicate key value is <1234>, even though there are no duplicate records. When we
try debugging and running the failing package, it runs successfully. We are not able to figure out why the package fails and when we run the next day it runs successfully. Request you to help me in this regard.
Thank you,
Bala Murali Krishna Medipally.
I suspect you are trying to insert modified records instead of updating. -
Violation of PRIMARY KEY constraint
Hello,
I have the following table in my oracle database :
create table FLTRPTDATA
esn VARCHAR2(10) default 'ALL' not null,
periodid NUMBER not null,
yearid NUMBER default 2007 not null,
reportid NUMBER not null,
entryid NUMBER not null,
operatorid VARCHAR2(30) default 'XXX' not null,
param1 VARCHAR2(200),
param2 VARCHAR2(200),
param3 VARCHAR2(200),
param4 VARCHAR2(200),
param5 VARCHAR2(200),
param6 VARCHAR2(200),
param7 VARCHAR2(200),
param8 VARCHAR2(200),
param9 VARCHAR2(200),
param10 VARCHAR2(200),
acid VARCHAR2(8) default 'ALL' not null
and also have a composite primary key for the table as follows :
add constraint PK_FLTRPTDATA primary key (ESN, PERIODID, YEARID, REPORTID, ENTRYID, OPERATORID, ACID)
using index
So I expect that I can only insert a new row into the table if the combination of values for ESN,PERIODID,YEARID,REPORTID,ENTRYID,OPERATORID and ACID are unique.
I am running some software that inserts new rows into the table (via an INSERT SQL statement).
When the software runs, it inserts a certain number of rows, but then stops when inserting one of the rows with a Violation of PRIMARY KEY constraint 'PK_FLTRPTDATA'. Cannot insert duplicate key in object 'fltRPTDATA' error.
This implies that the row being inserted contains values for the composite key columns that are NOT unique. However, when I look at the data it fails to insert, I can see that there are NO rows in the table for this combination of column values.
If I then try to MANUALLY insert the same row myself (via my own SQL statement in SQL Developer), the row is inserted with no error.
When I run the software, the first thing it does is delete any rows in the table that it will subsequently insert, so there cannot be any duplicate entries in the table before the inserts take place. I have run the SQL statement that does the deletion myself manually, and it does delete all of the relevant rows.
I have checked the code (I am not the author), and I cannot see anything that would cause the same INSERT to be executed twice.
I have checked the log file generated by the software, and the INSERT is only attempted once (according to the log).
I don't understand why the insert fails when I run the software, and I am wondering if anyone can shed any light on the issue? Has anyone seen this scenario before where you get a PRIMARY KEY constraint violation on a composite key, where the data being inserted IS unique?
Thanks for any help and apologies if this is in the wrong forum,
Jason.>
I don't understand why the insert fails when I run the software, and I am wondering if anyone can shed any light on the issue? Has anyone seen this scenario before where you get a PRIMARY KEY constraint violation on a composite key, where the data being inserted IS unique?
>
One way to find those records would be to create and use a dml error log table. Then those records would get logged to the log table and would not prevent the insert of the valid records.
See Loading Tables in the DBA Guide
http://docs.oracle.com/cd/E11882_01/server.112/e17120/tables004.htm#InsertDMLErrorLogging
Then you can examine the records in the log table and see why they were rejected.
Maybe you are looking for
-
I attempted to set up a new HP wireless printer. It is unstable and HP support says I have too many devices since I have a time capsule and 4 airport express either extending my network or being used for a different printer or stereos. Anyone else
-
My installations of Acrobat Pro 9.1 and 9.2 where way too slow and pocky on my Quad-Core Mac Pro, running Tiger. The only solution was to re-install Acrobat Professional 9.0.0 and not install the updates. Acrobat Professional 9.2 runs perfectly ef
-
Freeze at Toshiba logo screen on M35X-S149
My friend's Toshiba M35X-S149 was working just fine until Today. When it's powered up, it comes up to the Toshiba logo screen with "Press [F2] for SETUP, Press [F12] for boot device selection menu" on the left status bar and "phoenix" at the right of
-
I tried syncing my phone and I have a notification that it couldn't sync 161 songs and to see iTunes for more information. I didn't see any more information on iTunes. Most of these songs I purchaed through iTunes. How can i get them to sync?
-
Error Making Socket Connection
So, I'm trying to figure this out, I get this error after my code has compiled(Metrowerks CodeWarrior),the little dos run window comes up and afterwards I get this message "Error making socket connection". Anyone ever seen this? I'm running Windows 2