社区
基础和管理
帖子详情
在存储过程中怎么建立临时表
bo_zhb
2004-05-08 05:24:29
在存储过程中怎么建立临时表
...全文
222
4
打赏
收藏
在存储过程中怎么建立临时表
在存储过程中怎么建立临时表
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LGQDUCKY
2004-05-08
打赏
举报
回复
存储过程里不能直接使用DDL语句,所以只能使用动态SQL语句来执行
create procedure pro
as
str varchar2(100);
begin
str:=‘CREATE GLOBAL TEMPORARY TABLE admin_work_area
(startdate DATE,
enddate DATE,
class CHAR(20))
ON COMMIT DELETE ROWS’;
execute immediate str;
end;
/
beckhambobo
2004-05-08
打赏
举报
回复
create procedure pro
as
str varchar2(100);
begin
str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE ROWS' ;
execute immediate str;
end;
/
beckhambobo
2004-05-08
打赏
举报
回复
CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE(DELETE) ROWS ;
--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
---------------------------------------
在Oracle8i中,可以创建以下两种临时表:
1。会话特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT PRESERVE ROWS;
2。事务特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT DELETE ROWS;
CREATE GLOBAL TEMPORARY TABLE MyTempTable
所建的临时表虽然是存在的,但是你试一下insert 一条记录然后用别的连接登上去select,记录是空的,明白了吧。
下面两句话再贴一下:
--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
welyngj
2004-05-08
打赏
举报
回复
execute immediate ' create global temporary table temp ( id int,name varchar(30)) on commit preserve rows;'
on commit preserve rows; --提交保留数据 会话临时表
on commit delete rows; --提交删除数据 事务临时表
在oracle
存储过程
中
创建
临时表
在oracle的
存储过程
中
,不能直接使用DDL语句,比如create、alter、drop、truncate等。 那如果我们想在
存储过程
中
建立
一张
临时表
就只能使用动态sql语句了: create or replace procedure pro as str_sql varchar2(100); begin -- 创建
临时表
str_sql := 'create global te
在
存储过程
中
建立
临时表
提示权限不足的解决办法
今天遇到个问题,热线系统的开发程序员,老是说权限不足,无法创建
临时表
。我检查了一遍该系统帐号的,已经赋了resource权限,应该有创建表的权限呀!后来google了一下,发现原来在
存储过程
里建表是要显式授权的,通过间接方式授权是无效的。于是,执行grant create any table to ***;重新赋权给该用户,问题解决了! PS:为什么要在
存储过程
里建
临时表
?...
在
存储过程
中
创建、插入
临时表
GPS平台、网站建设、软件开发、系统运维,找森大网络科技! https://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=2071 在oracle
存储过程
中
创建
临时表
在oracle的
存储过程
中
,不能直接使用DDL语句,比如create、alter、drop、truncate等。 那如果我们想在
存储过程
中
建立
一张
临时表
就只能使用动态sql语句了: [sql] view plain copy create or
oracle
存储过程
生成
临时表
,oracle
存储过程
中
使用
临时表
--------在
存储过程
中
使用
临时表
-----------------------创建
临时表
CREATE GLOBAL TEMPORARY TABLE admin_work_area(startdate DATE,enddate DATE,class CHAR(20))ON COMMIT DELETE ROWS;------------------------------------------...
oracle
临时表
教程,在oracle
存储过程
中
创建
临时表
在oracle的
存储过程
中
,不能直接使用DDL语句,比如create、alter、drop、truncate等。那如果我们想在
存储过程
中
建立
一张
临时表
就只能使用动态sql语句了:create or replace procedure pro asstr_sql varchar2(100);begin-- 创建
临时表
str_sql := 'create global temporary table ...
基础和管理
17,382
社区成员
95,118
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章