回 帖 发 新 帖 刷新版面

主题:这个存储过程有错吗?

//建表
create table salary_details 
(
 empcode varchar2(10),
 workingdays number,
 salary number
)

//建存储过程
create or replace procedure showsal(emp_code in varchar2(10))
is
mysal number;
begin
select (workingdays*salary)*0.95 into mysal from salary_details where empcode=emp_code;
dbms_output.put_line('净收入为:'||mysal);
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
  dbms_output.put_line('不存在此员工号!');
end;

//创建的时候总是出现   [color=FF0000]警告: 创建的过程带有编译错误。[/color]

回复列表 (共2个回复)

沙发

已经解决了!~原来是
//建存储过程
create or replace procedure showsal(emp_code in varchar2(10))
这里varchar2这类不要指定长度!

板凳

create or replace procedure showsal(emp_code in varchar2)
是这样!

我来回复

您尚未登录,请登录后再回复。点此登录或注册