두 개의 테이블이 있습니다. 다음 단계를 수행 한 후 표 2에서 desc를 얻고 자합니다.
1. Table1에서 type = 'animal';
2. 1.에서 각 이름을 반복하고 Table2 즉 o_name = name을 확인합니다.
3. 그런 다음 o_name에 대해 desc가 존재하는지 확인하십시오.
4. desc가없는 경우 Table2에 해당 레코드의 'pet'를 삽입하십시오.커서의 데이터를 통해 반복하고 다른 테이블의 값을 비교하십시오.
어떻게해야합니까? 지금은 Table1의 이름을 가진 커서가 있습니다. 나는 커서의 레코드를 반복하지만, 할 수 없다는 것을 넘어서고 생각하고있다. 저를 제안하십시오 : 당신은 여전히 쿼리로이 작업을 수행 할 수 있으며, 커서를 필요가 없습니다
DECLARE
CURSOR DATA is
SELECT name
FROM Table1
where type='animal';
BEGIN
FOR C IN DATA LOOP
// After this what can I do?? I cannot do select into because there will be
// multiple rows
END LOOP;
END;
/
Table1:
id | name | type
---| ---- | -----
1| Apple | food
2| Ball | game
3| Cat | animal
4| Cow | animal
5| Ball | game
Table2:
o_name | desc
---| ----
Apple| eat
Cat| pet
Cow|
왜 커서로 수행하고 싶습니까? – rjdevereux
@rjdevereux 안녕하세요 Rj 커서없이 처리 할 수 있습니까? – Rthp
왜 table1을 반복해야합니까? 이름은'Cat'이 될 것으로 미리 알려져 있습니다. 그렇다면 table2에서 직접 고양이를 가져 오는 것이 어떻습니까? 당신이 달성하고자하는 것이 명확하지 않습니다. –