【问题标题】:Calling one stored procedure from another in Oracle在 Oracle 中从另一个存储过程调用一个存储过程
【发布时间】:2012-04-17 05:04:54
【问题描述】:

在Oracle数据库中,

假设有两个存储过程
并且存储过程sp1 正在调用另一个存储过程sp2

问题是:

被调用的sp2 能否访问sp1's temp 表?

【问题讨论】:

    标签: oracle stored-procedures


    【解决方案1】:

    我想你的意思是:数据库中有 tmp 表,sp1 填表,sp2 就可以访问(读取或更改)这些数据?

    是的,它会的。 (当然,如果 sp1 在调用 sp2 之前没有“提交”)。

    Oracle 临时表用于存储会话或事务期间的数据。 Sp1 和 sp2 都在同一个会话中工作。

    【讨论】:

    • @KOMapOB.. 感谢您的回答....我对此有疑问...如果 sp1 在 sp2 调用之前已提交并且临时表已提交保留行子句..... ..在这种情况下..sp2能否访问sp1的全局临时表数据?
    • “保留行”是非常重要的词)。如果你的表有这个子句,那么会话结束后数据将被删除。所以 sp1 中的“提交”不会删除它,并且 sp2 将能够访问这些数据。
    • 如果你的表没有这个子句,或者你的表有“ON COMMIT DELETE ROWS”子句,那么“commit”后数据会被删除,sp2会不高兴。
    猜你喜欢
    • 1970-01-01
    • 2011-05-08
    • 2014-09-17
    • 2018-07-04
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 2011-05-05
    相关资源
    最近更新 更多