0

そこで、テーブル用にこのトリガーを作成しました。

CREATE OR REPLACE 
PROCEDURE POPULATE_ACTOR_QUOTES (id_actor char)
AS
   CURSOR quote_recs IS
      SELECT m.title, 
             m.year, 
             r.roleName,
             q.quotechar 
        from quote q, 
             role r, 
             rolequote rq,  
             actor a, 
             movie m
       where rq.quoteID = q.quoteID
         AND rq.roleID = r.roleID
         AND r.actorID = a.actorID
         AND r.movieID = m.movieID
         AND a.actorID = id_actor;
BEGIN
   FOR row IN quote_recs 
   LOOP
      INSERT INTO table(
      SELECT quotes
        FROM actor_quotes aq
       WHERE aq.actorId = id_actor)
      VALUES(
         ACTOR_QUOTE_TYPE(row.title, row.year, row.roleName, row.quotechar)
      );
   end loop;
END POPULATE_ACTOR_QUOTES;
/

ここで、テーブルのネストを解除し、その中の 4 つのデータ項目すべてを一覧表示する同様のクエリを使用して、テーブルQUOTESのネストを解除したいと考えています。ACTORIDQUOTES

これは元のテーブル スキーマでした

CREATE TABLE ACTOR_QUOTES (
   ACTORID CHAR(5),
   QUOTES  AQ_NT
)  
NESTED TABLE QUOTES STORE AS ACTOR_QUOTES_NT
/
4

1 に答える 1

1

TABLE 関数を使用して同じことを行うことができます

  SELECT REC.*

  FROM ACTOR_QUOTES A,TABLE(A.QUOTES) REC

参考までにご確認ください

http://psoug.org/reference/nested_tab.html

于 2012-05-01T12:13:25.817 に答える