You are trying to delete a row in a table but b/c of the db constraint you can't, here how to find out what table is causing the issue.
In oracle you would get an error like this:
ORA-02292: integrity constraint (TESTDB.FK_REF_114571) violated - child record found
select * from user_constraints where constraint_name = 'FK_REF_114571'
In MSSQL
select * from INFORMATION_SCHEMA.constraint_column_usage
where constraint_name = 'FK_REF_114571'
Here is list of my personnel how to, it's mostly for me to help me remember how I at some point figure out how to do something... PS: if you like to contribute to my How To blog, let me know and I will give you access to do so.
Showing posts with label Oracle. Show all posts
Showing posts with label Oracle. Show all posts
Tuesday, April 24, 2007
Friday, March 30, 2007
How to copy data between 2 different Oracle or MSSQL database
Well what if you did not do a backup of your data and you deleted the wrong stuff. Import your backup database on the same server. Login with a user that have access to both DB, system should work.
Oracle to Oracle:
MSSQL to MSSQL:
Here's how I populated nd_loc and it took only 10 or so seconds to copy ~150,000 rows! First connect to the production db and then create the link to the backup server. By running the command "sp_addlinkedserver sqldev" (where sqldev is the other server name where the backup db is. You don't have to do this if both db are on the same server)
insert into nd_loc select * from sqldev.backupdb.dbo.nd_loc
Now why can't their damned odbc driver be that fast? (Thanks Scott for the tips)
Oracle to Oracle:
insert into productiondb.bill_detail select * from backupdb.bill_detailThis query will copy everything that is missing back into the production DB.
where not exists
(select *
from productiondb.bill_detail
where bill_id = backupdb.bill_detail.bill_id)
MSSQL to MSSQL:
Here's how I populated nd_loc and it took only 10 or so seconds to copy ~150,000 rows! First connect to the production db and then create the link to the backup server. By running the command "sp_addlinkedserver sqldev" (where sqldev is the other server name where the backup db is. You don't have to do this if both db are on the same server)
insert into nd_loc select * from sqldev.backupdb.dbo.nd_loc
Now why can't their damned odbc driver be that fast? (Thanks Scott for the tips)
How to create a table from a select statement
Ready to make a big update, before you do make a backup of that data into a temp table with a select. This save me few times.
create table tmp_eric as
( select * from ... where ... )
Each columns returned from the select will become the columns of the new table tmp_eric.
create table tmp_eric (col1, INTEGER PRIMARY KEY, col2...)
insert into tmp_eric (col1, col2,...)
select col1, col2,... from eric
You can also use:
select * into tmp_eric from eric
Subscribe to:
Comments (Atom)