2016 - 2024

感恩一路有你

oracle大数据存储解决方案 oracle中,一个存储过程怎么调用另一个存储过程?

浏览量:1154 时间:2023-06-20 17:25:53 作者:采采

oracle中,一个存储过程怎么调用另一个存储过程?

直接调用就可以了。

举个例子把 B 存储过程调用A 存储过程。

PROCEDURE A (p_1 in number,p_2 out number)is v_1 numberbeginV_1:p_1p_2:v_1end A(1)如果A 与B同在一个package里面的话。那么 B里面直接可以调用APS:如果A,B在同一个Package 中无法调用的话,那么很可能是A,B在Spec里没有声明。一个package包含Spec 和Body,两层。不能调用很可能没有声明。声明后应该ok!

PROCEDURE B(p_1 in number)is v_result numberbeginv_result A(p_1)end B其中v_result就是调用A的结果,A的返回值。

(2)如果A与B不在同一个package的话那么B在调用A 的时候,需要加上pkg的名字比如:A 存储过程在pkg :xxom_test_pkg 中PROCEDURE B(p_1 in number)is v_result numberbeginv_result xxom_test_pkg .A(p_1)

end B----------------------------------------------------------以上简单介绍了存储过程的调用。希望对你有帮助

oracle存储过程出现异常后可以继续执行吗?

这个要看异常捕捉处理程序放在哪,从出现异常到异常处理之间的程序应该是不执行的

oracle数据量大怎么优化?

1、首先要建立适当的索引。sql在索引字段不要加函数,保证索引起效。如果是复合索引注意在sql的顺序。如果已经存在索引,建议你先重建索引先,因为大数据表的索引维护到了一个阶段就是乱的,一般建议重建。建立好的一般可以获得几十倍的速度提升。

2、最大数据量的表放在最前,最小的表放在最后面。sql是从最后面开始反向解析的。

3、其次是要把最有效缩小范围的条件放到sql末尾去。尤其是主键或者索引字段的条件。

4、保证你sql的算法合理性。保证复杂度和空间度的合理性。

5、必要时候使用存储过程。提升30%-40%的速度6、建议你分页读取不要一下读完所有的数据。(使用rownum),一下子数据太多会使得内存不够用的。如果这些都做了还不满意的话,可以考虑建立几个表空间,然后按照一个算法将各个表的数据,平均的放在各个表空间内(分表分区),在select的时候数据库就会使用多线程到各个表空间索引数据,这个一般不是上千万级的表是不用的。也不是所有人都会用。

过程 索引 sql

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。