问题三:select (sysdate-2/24) from dual;

解决方案 »

  1.   

    问题1:
    create user username identified by passwd;
    grant execute on procname to username;
    grant select on tablename to username;
      

  2.   

    1、见ruyuezhang(ruyue) 的回复
    2、可以,用游标就行。
    在包中定义游标 
     CREATE OR REPLACE PACKAGE "TEST"."PK_TEST" AS
       TYPE mycursor IS REF CURSOR;
    end; 
    建立返回游标的存储过程 
     CREATE OR REPLACE PROCEDURE "TEST"."SP_TEST" 
    (cur_lag out pk_test.mycursor)
    as
    3、select (sysdate-1/12) from dual;
    4、ALTER USER "SYSTEM"  IDENTIFIED BY "aa"
      

  3.   

    不过我还是不太明白这句话的意思问题4:为了安全(不让用户使用默认用户名/密码登陆),我只修改默认的密码?默认用户有不少呢 sys,system,scott...sys和system当然不能公开了,因为它们是dba
    scott倒无所谓,反正也没有多大的权限
      

  4.   

    qiyousyc(沈阳棋友) 谢谢你的回复
    关于问题2有一点不明白:我要把得到的游标作为变量传给另一个存储过程是否可以?如果可以的话,另一个存储过程如何遍历游标并将结果写入一个表中,谢谢!
      

  5.   

    ruyuezhang(ruyue)建立用户的时候怎么给用户制定登陆权限?如果按照您说的方法建立用户,该用户没有登陆权限, 请再出手……
      

  6.   


     用户不能登陆是因为它没有CREATE SESSION的权限.
     以SYS用户登陆,然后赋予这个用户CONNECT 角色就可以了.
      

  7.   

    楼上的这位朋友说得没错,我赋予那个用户connect权限后,它可以登陆,可是不能访问到我给他select权限的表,说表视图不存在,我是用另一个具有dba权限的用户(xx)为添加的用户分配权限的(因为表、存储过程为xx所有),请问我还需要做什么,我的哪步操作出现问题了呢?谢谢您的回复……
      

  8.   


      select owner from all_tables where tablename='大写的表名'
      --------------------------------------------------------
      看看表的所有者  用ruyuezhang的语句应该没问题的
       create user username identified by passwd;
       grant execute on procname to username;
       grant select on tablename to username   注意大小写;
       查询其他用户所属的表,前缀加上用户名.
      

  9.   

    上面的SQL写错了,应该是table_name.
      select owner from all_tables where table_name='大写的表名'
      

  10.   

    表的所有者是xxx,我用grant select on tablename to yyyyy为新添加的用户然后我用yyy登陆后不能从tablename中取数据