grant execute on send_shipmentgid_app to otm在user_a下procedure1@dblink_name;如果有参数procedure1@dblink_name(paramater1,paramater2);
Oracle
新建了
一个
存储过程
,里面包含CREATE和DROP,逐条依据可以
执行
,但是
执行
整个
存储过程
报权限不足的错误。
在网上看到,
Oracle
规定,在默认的情况下,在调用
存储过程
用户
的角色不起作用,即在
执行
存储过程
时只有Public权限。所以在调用Create table时,会有权限不足的提示。所以需要给当前
存储过程
制定角色,指定AUTHID 属性,
create or replace PROCEDURE
存储过程
名称
Authid Current_User
BEGIN
存储过程
能够正常
执行
了!
将
oracle
数据库dzjc
用户
的dzjc_pack_xzxk_exchange
存储过程
使用权限赋给bjsp_tysp
用户
。
需要登录到dzjc上,然后
执行
一下语句:
grant all on dzjc_pack_xzxk_exchange to bjsp_tysp;
这样就可以在bjsp_tysp中使用dzjc的dzjc_pack_xzxk_exchange
存储过程
了。
1. MySQL的
用户
名都是username@hostname的形式
2.
授权
用户
的命令:
mysql >grant all privileges on *.* to root@"%" identified by "123" // 123是密码
mysql >flush privileges
以上命令
授权
root@%
用户
所有权限,如果root@%
用户
不存在,则自动创建该用
--
存储过程
案例(清空表数据)
CREATE OR REPLACE PACKAGE USER_A.PKG_TRA_TAB_OPERATION IS
PROCEDURE P_TAB_TRUNCATE_A; -- 方法一
PROCEDURE P_TAB_TRUNCATE_B; -- 方法二
END PKG_TRA_TAB_OPERATION;
CREATE OR REPLACE PACKAGE
在plsql中的command window下输入ed,输入以下代码块的内容,然后点击OK,在输入"/"回车
执行
。
[code="sql"]DECLARE
p_grantee VARCHAR2 (30) := 'username';
BEGIN
FOR rec IN (SELECT object_name, obje...
2. 在Mybatis的Mapper XML文件中定义
一个
<select>标签,指定调用
存储过程
的语句。
3. 在<select>标签中使用<parameterMap>标签定义输入参数和输出参数。
4. 在Java代码中调用Mapper接口的方法,传入输入参数,并获取输出参数。
5.
执行
Mybatis的SQL语句,调用
Oracle
存储过程
,并将输入参数和输出参数传递给
存储过程
。
6. 获取
存储过程
的
执行
结果,并将结果返回给Java代码。
需要注意的是,在调用
存储过程
时,需要使用Mybatis的动态SQL语法来拼接SQL语句,以便正确地传递输入参数和输出参数。同时,还需要在
Oracle
数据库中
授权
给Mybatis
用户
执行
存储过程
的权限。