Sunday, July 3, 2016

Oracle - Using Cursor to Insert Record from Remote Database Link With Hint

/********************Using Procedure**************/

CREATE OR REPLACE PROCEDURE INSERT_BY_FETCH AS
l_num_rows number := 10000;
l_row   yc64.test%ROWTYPE;
CURSOR test_cur
  is
  select Name, addr
  from yc64.test
  where rownum< 20;
BEGIN
  open test_cur;
  LOOP
      FETCH test_cur INTO l_row;
      EXIT WHEN test_cur%NOTFOUND;
      DBMS_OUTPUT.put_line(l_row.name );  
      insert into T_INSERT values l_row;
   END LOOP;
  CLOSE test_cur;
END INSERT_BY_FETCH;

/********************Using View**************/
--create view
CREATE VIEW yc64.v_test AS
SELECT a.* FROM yc64.test a WHERE rownum < 2000;
COMMIT; 

--create a table
create table yc64.t_insert as
SELECT a.* FROM yc64.test a WHERE rownum < 2000;
commit;

insert into yc64.t_insert 
select * from yc64.v_test;

select count(*) from yc64.t_insert ;




No comments:

Post a Comment