Oracleストアドプロシージャでは、変数またはパラメータのいずれかに値を選択する必要があります。 ドキュメントをお読みください 。
次の方法でストアドプロシージャを作成してみてください。
CREATE OR REPLACE PROCEDURE finddb (
p_bookid IN bookmaster.bookid%TYPE,
p_publishercode OUT bookmaster.publishercode%TYPE,
p_isbncode OUT bookmaster.isbncode%TYPE,
p_bookname OUT bookmaster.bookname%TYPE,
p_booktype OUT bookmaster.booktype%TYPE,
p_booklevel OUT bookmaster.booklevel%TYPE,
p_bookcategory OUT bookmaster.bookcategory%TYPE,
p_authornames OUT bookmaster.authornames%TYPE,
p_publishedyear OUT bookmaster.publishedyear%TYPE,
p_costprice OUT bookmaster.costprice%TYPE,
p_mrp OUT bookmaster.mrp%TYPE,
p_bookimage OUT bookmaster.bookimage%TYPE
)
AS
BEGIN
SELECT publishercode,
isbncode,
bookname,
booktype,
booklevel,
bookcategory,
authornames,
publishedyear,
costprice,
mrp,
bookimage
INTO p_publishercode,
p_isbncode,
p_bookname,
p_booktype,
p_booklevel,
p_bookcategory,
p_authornames,
p_publishedyear,
p_costprice,
p_mrp,
p_bookimage
FROM bookmaster
WHERE bookid = p_bookid;
END finddb;
/