社区
基础和管理
帖子详情
如何在存储过程中调用另一数据库的存储过程?
yangyipeng
2003-09-14 05:12:12
在存储过程中调用本数据库的另一存储过程我懂了。
但是我现在需要调用不同机器不同数据库的另一存储过程要如何调用呢???
...全文
385
15
打赏
收藏
如何在存储过程中调用另一数据库的存储过程?
在存储过程中调用本数据库的另一存储过程我懂了。 但是我现在需要调用不同机器不同数据库的另一存储过程要如何调用呢???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
岁月无声-我心飞翔
2003-12-13
打赏
举报
回复
我就是用的dblink可是提示过程未定义
leecooper0918
2003-12-13
打赏
举报
回复
建立数据链路:
create database link NewLink
connected to Username identified by
password
using 'sidname'
使用远程过程调用:
1) 创建引用远程数据表的本地过程
2) 创建由本地应用程序调用的远程过程
execute proc@linkname
规则:
过程的正确定位取决于数据的分布及数据的使用方式。
重点应放在将数据查询中通过网络传递的数据量最小化。
过程所在的数据库应含有进程操作中使用的大多数数据。
示例:
create procedure MY_RAISE(MY_EMP_NO IN NUMBER,
RAISE IN NUMBER)
as
begin
Update EMPLOYEE@HR_LINK
set Salary=Salary + Raise
where Empno=MY_EMP_NO
end ;
策略: 因为此过程只访问远程节点上的一个表,可考虑将
此进程移到远程数据库上,并且从进程的 from子句
中删除对这个数据库链接的引用。然后,通过使用
数据库链接从本地数据库调用该过程。
Execute MY_RAISE@HR_LINK (1234, 10000)
好处: 所有的进程处理均在包含操作数据的数据库中进行。
远程过程调用将把完成此进程处理所需要的网络流量
最小化.
简化: 创建同义词(SYNONYM)
create synonym MY_RAISE for MY_RAISE@HR_LINK
execute MY_RAISE(1234,10000)
fanth
2003-12-13
打赏
举报
回复
我也想知道!
liuhp0819
2003-12-12
打赏
举报
回复
不用数据库,可以建同义词,不同机器可以建数据链
liuhp0819
2003-12-12
打赏
举报
回复
访问本地不同用户,只要在对象(如表)前加用户名就可以了。如 user.table
chanet
2003-12-12
打赏
举报
回复
不同的数据库可以建立数据链路. (就是 dblink)
就可以了.
fbjia
2003-12-12
打赏
举报
回复
不同数据库,好象很难,我也想知道?
beckhambobo
2003-12-12
打赏
举报
回复
像建立同义词也可实现
岁月无声-我心飞翔
2003-12-12
打赏
举报
回复
有没有人知道啊
luckysxn
2003-12-12
打赏
举报
回复
建立数据库链接(dblink)
exec yourprocedurename@dblinkname
岁月无声-我心飞翔
2003-12-12
打赏
举报
回复
谁能详细的讲一下
ColinGan
2003-09-15
打赏
举报
回复
必须先对被调用的存储过程及该存储过程操作过的所有表、视图等授权(resource权限),否则失败
yangyipeng
2003-09-15
打赏
举报
回复
是不是不可以啊?大家知道我得错误是什么原因吗?
怎么都没有人回答我得问题,我很急得
yangyipeng
2003-09-15
打赏
举报
回复
ORA-04052: 在查找远程对象 HWFX.ADDNEWSTUDENT@JFLINK.US.ORACLE.COM 时出错
ORA-00604: 递规 SQL 层 1 出现错误
ORA-02085: 数据库连接 JFLINK.US.ORACLE.COMÓëYPALEX.US.ORACLE.COM相连接
出现上面的错误是什么问题??我现在只是本机的不同用户表空间的访问。
bfbd
2003-09-14
打赏
举报
回复
你给另外一个数据库的存储过程建一个本地同义词试试。
然后调用同义词。
赵强老师:Oracle
数据库
从10g到11g(5)过程、函数和触发器
学习并掌握使用PL/SQL程序开发Oracle
数据库
的
存储过程
、存储函数和触发器;并掌握如何在Java程序
中
调用
存储过程
、存储函数。
存储过程
内部
调用
另一个
存储过程
CALL SP_EMP_REBUILED(); --偶尔用(LINUX
调用
数据库
中
存储... --自动化脚本
中
常用(
存储过程
内部
调用
另一个
存储过程
/LINUX
调用
数据库
中
存储过程
) END; TEST窗口执行 --手动
调用
时常用(用于手动
调用
存储过程
) ...
SQL
存储过程
里
调用
另一个
存储过程
在
存储过程
里
调用
另一个
存储过程
并获取返回的结果
数据库
存储过程
(
调用
不同
数据库
或不同用户下的
存储过程
)
首先,如果是
调用
别人的
数据库
的
存储过程
,首先你得先跟别人的
数据库
建立一个DBLINK(如何创建,在此不进行描述),其次,别人
数据库
的
存储过程
要给你的用户赋予一定的权限。比如,我测试时候的数据, up
SQL Server
数据库
基础知识——
数据库
存储过程
怎么写
存储过程
是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在程序
中
就可以
调用
多次。如果某次操作需要执行多次SQL,使用
存储过程
比单纯SQL语句执行要快。可以用一个“execute
存储过程
名 ...
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章