1

请原谅我,我班上的其他人问过这个问题,但答案并不完全符合我的需要。这是课程作业,所以我不想用勺子喂答案,但朝正确的方向轻推会有所帮助。我也知道其他班的朋友正在使用这个论坛来协助他们的工作,所以这个答案真的很有用。

这是被问到的问题:

(a) 一个名为 INIT_ACTOR_QUOTES 的 PL/SQL 过程,没有以下参数:

一世。从 ACTOR 表中读取所有 ACTORID,并将它们插入到 ACTOR_QUOTES 表的每一行的 ACTORID 属性中(这些表具有相同的基数),同时将以下初始值插入到 QUOTES 嵌套表的第一行中ACTOR_QUOTES 表的每一行;

(Movie_Title, Year, Role, Quote)分别设置为(' ',NULL ,' ', ' ')

同时,在每次 INSERT 之后立即使用 DELETE 从嵌套表中删除属于 ACTOR_QUOTES 表中每个 ACTORID 的每一行中的所有行。(注意:这可能看起来很奇怪,但这是必要的,因为嵌套表不能被填充(因为它是原子的 null),除非它被初始化,之后这个初始数据可能会被删除)。

这就是我想出的和得到的回应:

CREATE OR REPLACE PROCEDURE INIT_ACTOR_QUOTES
AS
CURSOR actorID_cursor IS
SELECT actorID FROM Actor;
BEGIN 

FOR row IN actorID_cursor LOOP
INSERT INTO actor VALUES (
'00001',

actor_quotes_NT (
quote ('', NULL, ' ', '')
);


DELETE (*) FROM Quotes_NT ('', NULL, ' ', ''); 
END LOOP; 
END INIT_ACTOR_QUOTES ;
/



LINE/COL ERROR
-------- -----------------------------------------------------------------
8/1      PL/SQL: SQL Statement ignored
13/2     PL/SQL: ORA-00917: missing comma
16/1     PL/SQL: SQL Statement ignored
16/9     PL/SQL: ORA-00928: missing SELECT keyword
20/1     PLS-00103: Encountered the symbol "/"

我有点明白我的讲师所要求的原则,但这让我头疼不已。请帮忙。

您需要更多信息吗?

4

0 回答 0