oracle存储过程生成临时表,oracle存储过程中使用临时表

--------在存储过程中使用临时表---------------------

--创建临时表

CREATE GLOBAL TEMPORARY TABLE admin_work_area

(startdate DATE,

enddate DATE,

class CHAR(20))

ON COMMIT DELETE ROWS;

----------------------------------------------------------------------------------

/* Formatted on 2011/10/12 20:15 (Formatter Plus v4.8.8) */

DECLARE

CURSOR cr_prjt_cds

IS

SELECT  price   FROM ims.TABLE1;

selSql varchar2(1000);

v_prjt_cd   number;

I_cout int;

strsql      VARCHAR2 (2000);

updateSql   varchar2(2000);

BEGIN

OPEN cr_prjt_cds;

selSql:='select count(1) from ims.admin_work_area ';

LOOP

FETCH cr_prjt_cds

INTO v_prjt_cd;

EXIT WHEN cr_prjt_cds%NOTFOUND;

strsql:='insert into ims.admin_work_area values(sysdate,sysdate,'||v_prjt_cd||')' ;--将数据插入到监理表

--strsql:=strsql||'  union all  '||strsql;

EXECUTE IMMEDIATE strsql;

--   COMMIT;    END LOOP;    EXECUTE IMMEDIATE selSql into I_cout;--提交前有值    CLOSE cr_prjt_cds;    commit;    EXECUTE IMMEDIATE selSql into I_cout;--提交后被清空 END; --给表授权 --GRANT SELECT,insert,delete,update ON admin_work_area  TO sys;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle存储过程,你可以使用临时存储临时数据。临时是在会话级别创建的,仅在当前会话可见,并在会话结束后自动删除。以下是使用临时的一般步骤: 1. 创建临时使用CREATE GLOBAL TEMPORARY TABLE语句创建临时。临时可以是全局临时(GLOBAL TEMPORARY TABLE)或本地临时(LOCAL TEMPORARY TABLE)。全局临时在所有会话之间共享结构定义,但数据仅在当前会话可见。本地临时在会话级别创建和使用,并且只在当前会话可见。 2. 定义临时结构:在CREATE TABLE语句定义临时的列和其他约束。 3. 在存储过程使用临时:在存储过程,你可以像使用任何其他一样使用临时。你可以插入、更新、删除、查询临时的数据,并在存储过程执行期间将其作为间结果使用。 4. 清空或删除临时:当你需要清空或删除临时的数据时,可以使用TRUNCATE TABLE或DELETE语句。TRUNCATE TABLE语句会快速删除的所有数据,而保留结构。DELETE语句可以根据条件删除的数据。 5. 存储过程结束后临时自动删除:一旦存储过程执行完毕或会话结束,临时会自动删除,无需手动清理。 使用临时可以在存储过程方便地存储和处理临时数据,提高性能和简化逻辑。注意,临时的数据仅在当前会话可见,不会对其他会话产生影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值