这是我的第一张桌子。它有start_serial列和end_serial列(来自calculate)
**START_SERIAL END_SERIAL** 120500216057150 120500216057155 120500216057156 120500216057161
**DENOMINATION SERIAL_NO AGENT_NAME SUB_AGENT** 100 121000056003871 NALINR A 100 121000056003855 NALINR A 100 121000056003860 NALINR A 100 121000056003858 NALINR A 100 121000056003853 NALINR A
这是我的第二张桌子。所有连续剧一个接一个地
现在我需要为下面的场景编写pl / sql 1.从sales_details [第一表]中选择一条记录 例如: - 120500216057148 120500216057150 [2张卡]
3.如果存在插入到temp_data_table 如果没有 dbms_output 的消息,则找不到匹配的记录。
请帮我解决这个问题
答案 0 :(得分:1)
这是一个oracle示例,用于对select语句中的数据进行循环并处理每条记录。您可以根据需要自定义此示例。 另请查看此网站以获取更多示例http://docs.oracle.com/cd/B10500_01/appdev.920/a96624/a_samps.htm
-- available online in file 'sample2'
DECLARE
CURSOR c1 is
SELECT ename, empno, sal FROM emp
ORDER BY sal DESC; -- start with highest paid employee
my_ename VARCHAR2(10);
my_empno NUMBER(4);
my_sal NUMBER(7,2);
BEGIN
OPEN c1;
FOR i IN 1..5 LOOP
FETCH c1 INTO my_ename, my_empno, my_sal;
EXIT WHEN c1%NOTFOUND; /* in case the number requested */
/* is more than the total */
/* number of employees */
INSERT INTO temp VALUES (my_sal, my_empno, my_ename);
COMMIT;
END LOOP;
CLOSE c1;
END;
答案 1 :(得分:1)
尝试此查询:
insert into temp select * from table1 where START_SERIAL in
(select START_SERIAL from table2);