1,varchar2 在存储过程 out 的时候不能给它 定义长度  但是在其他情况下就必须制定 长度
请问  存储过程  参数中 没有定义长度 他的默认长度是多少?2,我要在普通用户下 用dbms_lock  就要用DBA 登陆 用 GRANT EXECUTE ON DBMS_LOCK TO 我的用户  给我的用户设置权限。、
请问 一旦我设置权限以后 我怎么取消权限啊?3,执行动态sql语句 EXECUTE IMMEDIATE 和dbms_sql 有什么区别?谢谢 

解决方案 »

  1.   

    1,varchar2 在存储过程 out 的时候不能给它 定义长度  但是在其他情况下就必须制定 长度
    请问  存储过程  参数中 没有定义长度 他的默认长度是多少?答:32767 = 32K-12,我要在普通用户下 用dbms_lock  就要用DBA 登陆 用 GRANT EXECUTE ON DBMS_LOCK TO 我的用户  给我的用户设置权限。、
    请问 一旦我设置权限以后 我怎么取消权限啊?答: revoke execute on dbms_lock from 你的用户
    3,执行动态sql语句 EXECUTE IMMEDIATE 和dbms_sql 有什么区别?
    答: dbms_sql老了,不好用,用execute immediate
      

  2.   

    1. 32767是varchar2作为变量的最大长度. 2. 如上3. 效果一样,写法不同.