oracle数据库表复制
‘壹’ oracle数据库 单表数据复制叠加
单表数据复制叠加?
难道是
INSERT INTO 表 SELECT * FROM 表
还要 主键值 自动更改的哪种操作?
这种情况下,可以让 主键使用 序列号 来处理。
写个触发器就行。
下面是个例子, 请注意,插入表的时候,主键由触发器填写。
sql> CREATE SEQUENCE test_sequence2
2 increment by 1 -- 每次递增1
3 start with 1 -- 从1开始
4 nomaxvalue -- 没有最大值
5 minvalue 1 -- 最小值=1
6 NOCYCLE; -- 不循环
Sequence created.
SQL> CREATE TABLE test_create_tab2 (
2 id INT,
3 val VARCHAR(10),
4 PRIMARY KEY (id)
5 );
Table created.
SQL> CREATE OR REPLACE TRIGGER BeforeTestCreate2Insert
2 BEFORE INSERT ON test_create_tab2
3 FOR EACH ROW
4 BEGIN
5 SELECT test_sequence2.nextval INTO :new.id FROM al;
6 END;
7 /
Trigger created.
SQL> INSERT INTO test_create_tab2(val) VALUES ('NO id');
1 row created.
-- 注意: 这里填写了主键=1 但是由于触发器的原因, 被无视了。
SQL> INSERT INTO test_create_tab2(id, val) VALUES (1, 'id no use');
1 row created.
SQL> SELECT * FROM test_create_tab2;
ID VAL
---------- --------------------
1 NO id
2 id no use
‘贰’ oracle数据库复制表内容
请检查两个表的字段。
INSERT INTO SELECT语句详解:
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
注意:
(1)要求目标表Table2必须存在,并且字段field,field2...也必须存在
(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2...中必须包括主键
(3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:
Insert into Table2(field1,field2,...) values (select value1,value2,... from Table1)
‘叁’ oracle不同数据库不同的表之间数据的复制
创建一个两个数据库之间的dblink,语法如下
create database link to_test
connect to scott identified by tiger
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bylw)
)
)';将数据复制到目的表中
insert into 目的表(字段列表) select 字段列表 from 源表@to_test;
如果用户在一个实例上,则无需创建dblink直接使用
insert into 目的用户.目的表(字段列表) select 源用户.字段列表 from 源表;
‘肆’ Oracle数据库表复制到另一台电脑上,怎么用原来代码连接
你是要倒库么?倒库命令可以用exphp
然后吧导出的文件拷倒目标机上
imphp
具体命令可以网络
‘伍’ 如何将一个oracle数据库复制成一个新的数据库
1、在数据库服务器的开始菜单中找到Datebase Configuration Assistant。
‘陆’ 在oracle中怎样把一个数据库中的一张表的数据复制到另一个数据库中的一张表中
1、使用plsql连接上数据库,展开【Tables】菜单项,下面出现的就是数据库表。
‘柒’ Oracle 如何在不同数据库的表中复制数据
一楼贴的是SQL SERVER的复制吧?oracle的可以很多方法实现同步,不过你问的是使用sql语句的,那你可以用db link10G下的例子这样CREATE PUBLIC DATABASE LINK linkname CONNECT TO username IDENTIFIED BY password USING '数据库IP地址:1521/实例命';解释下,比如你想在A数据库执行sql语句把数据插入B数据库。上面的操作在A数据库执行,linkname看你自己了,username,password,ip地址,实例名称,都是对应B数据库来说的。对于这个数据库link,在A数据库使用下面命令就可以查询B数据库的对应用户下的数据,插入同理select * from yourtable@linkname;
‘捌’ oracle怎么复制表以及表中数据
可用如下方法复制:
如果新表不存在:
比如有一张表叫test,现在要复制表结构及表内数据,可执行代码:
createtabletestasselect*fromtest;
这样就把表结构连同数据一起复制了。
如果表存在,可用以下代码:
insertintotest1select*fromtest;
commit;
‘玖’ oracle数据库如何复制表到新表
如果新表存在:
insertinto新表(字段1,字段2,字段3……)select字段1,字段2,字段3……from旧表where条件;
commit;
如果新表不存在:
createtable新表
as
select字段1,字段2,字段3……from旧表where条件;