首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于Oracle中的全局临时表和存储过程

关于Oracle中的全局临时表和存储过程
EN

Database Administration用户
提问于 2015-12-24 16:57:16
回答 1查看 3.1K关注 0票数 1

我对Oracle中的全局临时表感到困惑:

例如,我想编写一个SP MySP,它可以同时供5个用户使用。

代码语言:javascript
运行
复制
CREATE GLOBAL TEMPORARY TABLE temp 
     (ID NUMBER, COL1 VARCHAR2(4000), COL2 VARCHAR2(4000));

CREATE OR REPLACE PROCEDURE MySP
(
  id NUMBER
, input1 varchar2(4000)
, input2 varchar2(4000)
)
AUTHID CURRENT_USER IS

sql_stmt VARCHAR2(4000);
BEGIN
   sql_stmt := 'INSERT INTO temp VALUES ('
             + TOCHAR(ID,99) + ','
             + input1 + ','
             + input2
             + ')';
   execute sql_stmt;

END MySP;

我的问题是:当五个用户同时运行SP时,他们会不会因为使用相同的全局临时表而彼此中断?

EN

回答 1

Database Administration用户

发布于 2015-12-24 17:05:24

全局临时指定全局临时,以指示表是临时的,其定义对于所有具有适当权限的会话都是可见的。临时表中的数据仅对将数据插入表的会话可见。

http://docs.oracle.com/database/121/SQLRF/statements_7002.htm#SQLRF01402

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/124540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档