0

在此处输入图像描述

对于使用 ORACLE PLsql 的第一部分 程序 2: 对于由姓氏给出的作者所写的每一本书,更改他的书的所有 ISBN 程序的第二个参数是什么?

如何获取和更改图书的 ISBN?

set serveroutput on
create or replace procedure changeISBN(Last_Name varchar(100),ISBN int)
no_book exception;
no_author exception;
cursor c1 is 
select *  from book where book.idAuthor= Auhtor.idAuthor and Author.LastName =Last_Name;
if 
4

1 回答 1

0

如果您严格希望将光标保留在代码中,我想您需要以下内容 -

create or replace procedure changeISBN(P_Last_Name varchar2
                                      ,P_ISBN number
                                      ,P_message out varchar2)
V_AUTHOR Auhtor%idAuthor;
CURSOR C_AUTHOR(Last_Name varchar2)
IS
    SELECT idAuthor
    FROM Auhtor
    WHERE LastName = Last_Name;
Begin
    OPEN C1(P_Last_Name);
    LOOP
        FETCH C_AUTHOR INTO V_AUTHOR;
        UPDATE book
        SET ISBN = P_ISBN
        WHERE book.idAuthor = V_AUTHOR;
    END LOOP;
    CLOSE C1;
    P_message := 'Successfully Updated';
EXCEPTION
     when others then
             P_message := 'Update Failure';
END;
于 2020-01-29T09:49:09.470 回答