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條件;