oracle删除定义变量,Oracle存储过程,临时表的创建、删除,变量的定义和使用
create or replace procedure Test_GetOaUserInfo? as
--authid current_user操作當前存儲過程的當前用戶,否則提示權限不足,但是這樣存儲過程這能執行一次
--,或者GRANT CREATE ANY TABLE TO any users;
timePoint? Date;
tabCstr varchar2(1000);???? --創建表的字符串
varNum number(1) default 0;?? --定義統計記錄變量默認為0
tabDstr varchar2(500);????? --存數據的字符串
tabData varchar2(500);????? -- 存數據的字符串
maxRow number;
begin
--抓取截止日期
select? max(last_date) into timePoint from basedb_users;
--存取表的記錄數
select count(*) into varNum from user_tables where table_name='BASEDB_USERS_TEMP_TB';
if timePoint is null then
begin
timePoint:=sysdate;
end;
end if;
dbms_output.put_line(to_char(timePoint,'YYYY-mm-dd hh24:mm:ss')); --set serveroutput on
dbms_output.put_line(varNum);
--創建臨時表
if varNum < to_number(1) then?? --如果沒有數據表創建臨時表
--dbms_output.put_line('執行了啊');
tabCstr := 'create global temporary table BASEDB_USERS_TEMP_TB(
ID?????????? INTEGER not null,
LOGINID????? VARCHAR2(15),
FIRSTNAME??? VARCHAR2(30),
LASTNAME???? VARCHAR2(60),
FULLNAME???? VARCHAR2(100),
SEX????????? CHAR(1),
JOBTITLE???? INTEGER,
SUBCOMPANYID INTEGER,
DEPARTMENTID INTEGER,
MANAGEID???? INTEGER,
WORKCODE???? VARCHAR2(15),
LAST_DATE??? DATE,
ACTION_SIGN? CHAR(1),
STATUS?????? CHAR(1),
PASSWORD???? VARCHAR2(50)
)ON COMMIT PRESERVE ROWS '; --ON COMMIT PRESERVE ROWS 會話級臨時表 ,ON COMMIT delete ROWS 事務級臨時表
execute immediate tabCstr;--執行DDL語句
end if;
--導入數據到臨時表中
begin
tabData := 'insert into BASEDB_USERS_TEMP_TB(id,fullname)
select to_number(u.id) id,u.fullname from FMASTER.basedb_users@linkoa u where u.last_date
execute immediate tabData using timePoint;
commit;
end;
dbms_output.put_line(tabData);
select max(rownum) into maxRow from FMASTER.basedb_users@linkoa u where u.last_date < timePoint;? --查詢中最大記錄數 ???? commit; ???? dbms_output.put_line('記錄數'||maxRow); ???? ??? --刪除臨時表 ??? --tabDstr := 'truncate table BASEDB_USERS_TEMP_TB '; ??? --execute immediate tabDstr;? ??? --tabDstr := 'drop table BASEDB_USERS_TEMP_TB '; ??? --execute immediate tabDstr;? ??? --? commit;?? end Test_GetOaUserInfo;
總結
以上是生活随笔為你收集整理的oracle删除定义变量,Oracle存储过程,临时表的创建、删除,变量的定义和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓php高级编辑器使用方法,Andro
- 下一篇: oracle控制文件修复,oracle控