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存储过程,临时表的创建、删除,变量的定义和使用相关推荐

  1. C++实现1.交换两个整形变量的内容.2.不创建临时变量的条件下,交换两个数的内容.3.求是个整数中的最大值.4.将三个数按从大到小输出.5.求两个数的最大公约数.

    / //给定两个整型变量的值,并交换他们的值 int main(){ int a = 10; int b = 20; int temp = a; //创建一个临时变量,来做交换值的中间媒介 a = b ...

  2. mysql 表变量_在MySQL中创建表变量

    也许临时表会做你想要的.CREATE TEMPORARY TABLE SalesSummary (product_name VARCHAR(50) NOT NULL, total_sales DECI ...

  3. Oracle同义词(Synonym)创建删除

    Oracle对象知识:同义词(Synonym)创建删除,同义词(Synonym)是数据库对象的一个别名,Oracle可以为表.视图.序列.过程.函数.程序包等指定一个别名.同义词有两种类型: `私有同 ...

  4. oracle数据库之家,oracle数据库

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /**********Oracle中的sql性能优化****************/ 村 ...

  5. php7 定义变量,基于PHP7的PHP扩展开发之七(定义变量)

    目的:熟悉在PHP扩展里面如何定义变量 要实现的PHP代码如下: class lostphp{} $lng = 2; $str = "abc"; $arr = array(1,'a ...

  6. R创建分类变量(categorical variable)

    R创建分类变量(categorical variable) 目录 R创建分类变量(categorical variable) 创建分类变量

  7. oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包

    认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命 ...

  8. oracle 序列赋值变量,Oracle变量的定义、赋值及使用

    首先,当在cmd里办入scott密码提示错误时,可以这样改一下,scott的解锁命令是: 以system用户登录: cmd sqlplus system/tigertiger alter user s ...

  9. oracle 动态声明变量_oracle存储过程动态sql变量赋值

    如何动态执行存储过程或函数 目前在Oracle数据库存储过程研发过程中,遇到需要从某张表中读取存储过程名并进行动态执行的情况,经查找资料,制作成DEMO,并通过测试,现共享下,以备其他同事遇到此种情况 ...

  10. oracle 存过传变量,Oracle 存储过程—为数传递变量

    oracle 存储过程的基本语法 create or replace procedure proc1( p_para1 varchar2, p_para2 out varchar2, p_para3 ...

最新文章

  1. JAVA方法中的参数用final来修饰的效果
  2. centos7 搭建 mysql8
  3. 会计的思考(41):会计的领悟—每一位业务骨干都是优秀的管理会计师
  4. java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...
  5. 前端分页页码静态部分制作
  6. mysql memcached 使用场景_memcache的应用场景?
  7. 七牛云——对象存储私有空间下载凭证认证失败401[“error“:“download token auth failed“]解决方案
  8. HDU 1789 Doing Homework again (贪心)
  9. HubSpot company数据在UI上的展示和通过API方式进行获取
  10. mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)
  11. BugTracker.NET安装指南
  12. java 嵌套类: Nested classes
  13. Redis万字总结,面试必备
  14. 剪枝综述论文阅读:Methods for Pruning Deep Neural Networks
  15. 如何在Mac上的Safari中启用或禁用自动更正?
  16. Zabbix(四):高级应用之--宏、网络发现测试实例
  17. 蓝牙耳机性能测试软件,操作方便吗 蓝牙耳机横评之功能测试篇
  18. 工业物联网的体系架构
  19. 8. Zigbee应用程序框架开发指南 - 事件
  20. 口胡平衡树splay

热门文章

  1. C#中Invoke的用法(转)
  2. C++如何调用父类的方法?
  3. C#调用C++的dll文件方法
  4. android usb多个,android、windows上多个USB Camera同时使用实验小结
  5. android数据回传多个页面_Android Day06四大组件之Activity多页面跳转和数据传递
  6. 目前最舒服笔记——印象笔记下载使用
  7. mysql忘记命令后半部分_Mysql 5 易忘的命令
  8. python点名代码_基于python tkinter的点名小程序功能的实例代码
  9. 编写程序判断两个数组是否相等,然后编写一段类似的程序比较两个 vector。
  10. linux修改ip广播地址,Linux设置查看静态IP之ifconfig命令