重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
先修改包头,加入存储过程声明,然后再在包体中增加即可!
公司主营业务:成都网站设计、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出合阳免费做网站回馈大家。
select text from dba_source where owner='xxx' and name='包名' and type='PACKAGE BODY'
order by line asc
没这么写过,既然能授权还不如,直接用授权的用户改呢,反正不可能总改,如果要授权给别人改想控制权限,那么建议你试试replace on package,因为我们每次修改一个package其实都是replace一次。
不过从来没这么授权过,行不行不确定,要试试,你可以查查dba_sys_privs表,看看哪个授权能满足你的需要。
得看你包里的A表,调用的时候,是怎样调用的。
如果包里对表操作的时候,比如说:insert into A (字段1,字段2) values(值1,值2);
这样包就不会失效;
如果是insert into A values(值1,值2),这样的话,增加完表A的字段,如果不修改包的话,就会出错
用pl/sql developer 或者 oracle sql developer等可视化的工具,打开包编辑,然后再编译;很方便。
1、首先打开电脑,点击进入浏览器。
2、其次点击搜索oracle,选择第一个进入,点击选择数据化,选择复制的包,点击使用。
3、最后点击确认即可。
在存储过程或函数里调用oracle包的话,首先要有执行这个包的权限;如果包属于其他的用户(不是系统包),调用时:用户名.包名.存储过程(参数)名或者
变量:=用户名.包名.函数(参数);因为函数有返回值,变量类型要跟函数返回值的类型一致。
在command
下调用的话:exec
用户名.包名.存储过程名(参数);select
用户名.包名.函数名(参数)
from
dual;就可以了。包属于当期用户可以不写用户名。