sql >> Base de Datos >  >> RDS >> Oracle

Error en el procedimiento almacenado de Oracle

En el procedimiento almacenado de Oracle, tenemos que SELECCIONAR valores en variables o parámetros. lea los documentos .

Intente crear su procedimiento almacenado de la siguiente manera.

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;
/