日期:2014-05-17  浏览次数:20614 次

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

------解决方案--------------------
是用scott用户登陆的吗,在此用户下才有emp表。
这是我的查询结果


如果是scott用户,查询不出来数据,那就可能是真没有数据。
------解决方案--------------------
应该使用默认测试数据库,实例名是自己设的,一般默认是ORCL,是本机数据库,只有在这个数据库中才有emp表。

scott用户是这个数据库中的一个测试用户。scott是当年创立ORACLE的成员之一,为了纪念他把ORACLE默认测试账号设为scott,密码默认为tiger
这个用户可以访问emp,dept等几张表。

scott用户默认是被锁定的,要将其解锁才可以使用。

其他用户SYS(超级管理员)的默认密码是 change_on_install
STSTEM(管理员)的默认密码是 manager
他们的权限都比scott要高。可以访问一些系统表和视图。
------解决方案--------------------
如果是非scott用户,访问emp表请使用 模式名.表名 格式,例如:scott.emp 此用法必须具有对scott.emp的访问权限,以sys 或 scott 登陆库执行 grant select on scott.emp to 你的用户名。