1.oracle 创建临时表 部分1

CREATE OR REPLACE PROCEDURE temptest
(p_searchDate IN DATE)
IS
  v_count INT;
  str varchar2(300);
BEGIN
  v_count := 0;


  str:='drop table SETT_DAILYTEST';            -- 1.创建临时表的第一步:先检查这个临时表是不是已经存在了,则删除掉
  execute immediate str;


  str:='CREATE GLOBAL TEMPORARY TABLE SETT_DAILYTEST (
        NACCOUNTID NUMBER not null,
        NSUBACCOUNTID NUMBER not null)
        ON COMMIT PRESERVE ROWS'; 
  execute   immediate 'grant create table to inv';      --2.创建临时表时,应该先给这个当前用户 显示的赋予 创建临时表的权限


  execute immediate str; ----使用动态SQL语句来执行
 -- str:='insert into SETT_DAILYTEST (select naccountid,nsubaccountid from sett_dailyaccountbalance)';
  --execute immediate str;
  dbms_output.put_line(' ');

 


END temptest;

posted on 2014-01-03 14:47  fantiejun0436  阅读(95)  评论(0)    收藏  举报

导航