create procedure sp_pro3(spname varchar2, newsal number ) is
begin
  update emp sal = newsal  where ename =spname;
end;
这是一个创建存储过程的语句,在他得视频中是能运行的,但是在我自己的PLSQL里面命令窗口里面不能创建出来存储过程,select * from emp也不能查询到数据,这个是什么原因了?

解决方案 »

  1.   

    是用scott用户登陆的吗,在此用户下才有emp表。
    这是我的查询结果
    如果是scott用户,查询不出来数据,那就可能是真没有数据。
      

  2.   

    应该使用默认测试数据库,实例名是自己设的,一般默认是ORCL,是本机数据库,只有在这个数据库中才有emp表。scott用户是这个数据库中的一个测试用户。scott是当年创立ORACLE的成员之一,为了纪念他把ORACLE默认测试账号设为scott,密码默认为tiger
    这个用户可以访问emp,dept等几张表。scott用户默认是被锁定的,要将其解锁才可以使用。其他用户SYS(超级管理员)的默认密码是 change_on_install
    STSTEM(管理员)的默认密码是  manager
    他们的权限都比scott要高。可以访问一些系统表和视图。
      

  3.   

    如果是非scott用户,访问emp表请使用 模式名.表名 格式,例如:scott.emp 此用法必须具有对scott.emp的访问权限,以sys 或 scott 登陆库执行 grant select on scott.emp to 你的用户名。