取出一个表中的记录,然后再把这些记录一条条插到另一个同结构库同名表,这二个过程的语句怎么写 insert into my.hw_test select * from my.hw_test@dblink; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Connected to Oracle9i Enterprise Edition Release 9.2.0.6.0 Connected as testSQL> SQL> create table TEST1 2 ( 3 COL1 VARCHAR2(10), 4 COL2 VARCHAR2(10) 5 ) 6 /Table createdSQL> SQL> create table TEST2 2 ( 3 COL1 VARCHAR2(10), 4 COL2 VARCHAR2(10) 5 ) 6 /Table createdSQL> SQL> create or replace procedure testp IS 2 myrow TEST1%ROWTYPE; 3 CURSOR cur1 IS SELECT * FROM test1; 4 BEGIN 5 6 FOR myrow IN cur1 7 LOOP 8 INSERT INTO test2 VALUES(myrow.col1,myrow.col2); 9 END LOOP; 10 end testp; 11 /Procedure createdSQL> insert into test1 values('1','1');1 row insertedSQL> insert into test1 values('2','2');1 row insertedSQL> commit;Commit completeSQL> select * from test1;COL1 COL2---------- ----------1 12 2SQL> select * from test2;COL1 COL2---------- ----------SQL> exec testp;PL/SQL procedure successfully completedSQL> commit;Commit completeSQL> select * from test2;COL1 COL2---------- ----------1 12 2SQL> 不明白楼主为什么要一个个读取并插入,如果插入到另一个库的表中,请使用dblinK! Oracle 的问题? Oracle的SQL语句里面有没有类似mysql里Auto_Increment的语句? 一sql查询的问题 请问oracle中case...if怎么用在这里呀????谢了!!! 新手问几个超级菜的问题。 Oracle8i里如何里的建立首选身份证明在哪里有? 跪求oracle数据库应用程序,打包方案! 请教存储过程和触发器的问题!多谢 这个触发器应该怎么写? 新人求助 oracle分组统计问题 继续dblink的问题,谢谢指教! OEM为什么登录时提示没有权限运行?
Connected as testSQL>
SQL> create table TEST1
2 (
3 COL1 VARCHAR2(10),
4 COL2 VARCHAR2(10)
5 )
6 /Table createdSQL>
SQL> create table TEST2
2 (
3 COL1 VARCHAR2(10),
4 COL2 VARCHAR2(10)
5 )
6 /Table createdSQL>
SQL> create or replace procedure testp IS
2 myrow TEST1%ROWTYPE;
3 CURSOR cur1 IS SELECT * FROM test1;
4 BEGIN
5
6 FOR myrow IN cur1
7 LOOP
8 INSERT INTO test2 VALUES(myrow.col1,myrow.col2);
9 END LOOP;
10 end testp;
11 /Procedure createdSQL> insert into test1 values('1','1');1 row insertedSQL> insert into test1 values('2','2');1 row insertedSQL> commit;Commit completeSQL> select * from test1;COL1 COL2
---------- ----------
1 1
2 2SQL> select * from test2;COL1 COL2
---------- ----------SQL> exec testp;PL/SQL procedure successfully completedSQL> commit;Commit completeSQL> select * from test2;COL1 COL2
---------- ----------
1 1
2 2SQL>