CREATE OR REPLACE PROCEDURE get_member_info ( p_member_id IN member.member_id%TYPE ) AS v_first_name member.first_name%TYPE; v_last_name member.last_name%TYPE; v_state member.state%TYPE; BEGIN SELECT first_name, last_name, state INTO v_first_name, v_last_name, v_state FROM member WHERE member_id = p_member_id; DBMS_OUTPUT.PUT_LINE(v_first_name || ' ' || v_last_name || ', ' || v_state); END; Error at line 13: PL/SQL: Statement ignored
时间: 2023-06-19 20:08:16 浏览: 47
在您提供的代码中,缺少一个分号。请在最后一个DBMS_OUTPUT.PUT_LINE之后添加分号,如下所示:
```
CREATE OR REPLACE PROCEDURE get_member_info (
p_member_id IN member.member_id%TYPE
) AS
v_first_name member.first_name%TYPE;
v_last_name member.last_name%TYPE;
v_state member.state%TYPE;
BEGIN
SELECT first_name, last_name, state
INTO v_first_name, v_last_name, v_state
FROM member
WHERE member_id = p_member_id;
DBMS_OUTPUT.PUT_LINE(v_first_name || ' ' || v_last_name || ', ' || v_state);
END;
```
相关问题
create or replace package video is PROCEDURE new_member (p_lname in member.last_name%TYPE, p_fname in member.first_name%TYPE Default Null, p_address in member.address%TYPE default null, p_city in member.city%TYPE default null, p_phone in member.phone%type default null); function new_rental (p_member_id in rental.member_id%TYPE, p_title_id in rental.title_id%TYPE) return DATE; function new_rental (p_member_id in rental.member_id%TYPE, p_title_id in rental.title_id%TYPE) return DATE; function return_movie (p_title_id in rental.title_id%TYPE, p_copy_id in rental.copy_id%TYPE, p_status in title_copy.status%TYPE); END video; / 哪里出错胃
在这段代码中,有两个函数名称相同的函数:new_rental。这是不允许的,应该将其中一个函数重命名。另外,代码中有一些拼写错误,例如“胃”应该是“味”。最后,应该在代码的结尾处添加一个分号。修改后的代码如下:
```
create or replace package video is
PROCEDURE new_member
(p_lname in member.last_name%TYPE,
p_fname in member.first_name%TYPE Default Null,
p_address in member.address%TYPE default null,
p_city in member.city%TYPE default null,
p_phone in member.phone%type default null);
function new_rental1
(p_member_id in rental.member_id%TYPE,
p_title_id in rental.title_id%TYPE)
return DATE;
function new_rental2
(p_member_id in rental.member_id%TYPE,
p_title_id in rental.title_id%TYPE)
return DATE;
function return_movie
(p_title_id in rental.title_id%TYPE,
p_copy_id in rental.copy_id%TYPE,
p_status in title_copy.status%TYPE);
END video;
```
根据上面在错误代码解决这个代码CREATE OR REPLACE PACKAGE video IS PROCEDURE new_member (p_lname in member.last_name%TYPE, p_fname in member.first_name%TYPE Default null, p_address in member.address%TYPE default null, p_city in member.city%TYPE default null, p_phone in member.phone%type default null); function new_rental (p_member_id in rental.member_id%TYPE, p_title_id in rental.title_id%TYPE) return DATE; function new_rental (p_member_id in rental.member_id%TYPE, p_title_id in rental.title_id%TYPE) return DATE; function return_movie (p_title_id in rental.title_id%TYPE, p_copy_id in rental.copy_id%TYPE, p_status in title_copy.status%TYPE ); END video;
在这个代码中,有一个小错误。在 return_movie 函数的参数列表最后,多了一个不必要的分号。需要将它删除,修改后的代码如下:
```
CREATE OR REPLACE PACKAGE video IS
PROCEDURE new_member
(p_lname in member.last_name%TYPE,
p_fname in member.first_name%TYPE Default null,
p_address in member.address%TYPE default null,
p_city in member.city%TYPE default null,
p_phone in member.phone%type default null);
FUNCTION new_rental
(p_member_id in rental.member_id%TYPE,
p_title_id in rental.title_id%TYPE)
RETURN DATE;
FUNCTION new_rental
(p_member_id in rental.member_id%TYPE,
p_title_id in rental.title_id%TYPE)
RETURN DATE;
FUNCTION return_movie
(p_title_id in rental.title_id%TYPE,
p_copy_id in rental.copy_id%TYPE,
p_status in title_copy.status%TYPE
);
END video;
```