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存储过程,临时表的创建、删除,变量的定义和使用相关推荐
- C++实现1.交换两个整形变量的内容.2.不创建临时变量的条件下,交换两个数的内容.3.求是个整数中的最大值.4.将三个数按从大到小输出.5.求两个数的最大公约数.
/ //给定两个整型变量的值,并交换他们的值 int main(){ int a = 10; int b = 20; int temp = a; //创建一个临时变量,来做交换值的中间媒介 a = b ...
- mysql 表变量_在MySQL中创建表变量
也许临时表会做你想要的.CREATE TEMPORARY TABLE SalesSummary (product_name VARCHAR(50) NOT NULL, total_sales DECI ...
- Oracle同义词(Synonym)创建删除
Oracle对象知识:同义词(Synonym)创建删除,同义词(Synonym)是数据库对象的一个别名,Oracle可以为表.视图.序列.过程.函数.程序包等指定一个别名.同义词有两种类型: `私有同 ...
- oracle数据库之家,oracle数据库
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /**********Oracle中的sql性能优化****************/ 村 ...
- php7 定义变量,基于PHP7的PHP扩展开发之七(定义变量)
目的:熟悉在PHP扩展里面如何定义变量 要实现的PHP代码如下: class lostphp{} $lng = 2; $str = "abc"; $arr = array(1,'a ...
- R创建分类变量(categorical variable)
R创建分类变量(categorical variable) 目录 R创建分类变量(categorical variable) 创建分类变量
- oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包
认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命 ...
- oracle 序列赋值变量,Oracle变量的定义、赋值及使用
首先,当在cmd里办入scott密码提示错误时,可以这样改一下,scott的解锁命令是: 以system用户登录: cmd sqlplus system/tigertiger alter user s ...
- oracle 动态声明变量_oracle存储过程动态sql变量赋值
如何动态执行存储过程或函数 目前在Oracle数据库存储过程研发过程中,遇到需要从某张表中读取存储过程名并进行动态执行的情况,经查找资料,制作成DEMO,并通过测试,现共享下,以备其他同事遇到此种情况 ...
- oracle 存过传变量,Oracle 存储过程—为数传递变量
oracle 存储过程的基本语法 create or replace procedure proc1( p_para1 varchar2, p_para2 out varchar2, p_para3 ...
最新文章
- JAVA方法中的参数用final来修饰的效果
- centos7 搭建 mysql8
- 会计的思考(41):会计的领悟—每一位业务骨干都是优秀的管理会计师
- java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...
- 前端分页页码静态部分制作
- mysql memcached 使用场景_memcache的应用场景?
- 七牛云——对象存储私有空间下载凭证认证失败401[“error“:“download token auth failed“]解决方案
- HDU 1789 Doing Homework again (贪心)
- HubSpot company数据在UI上的展示和通过API方式进行获取
- mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)
- BugTracker.NET安装指南
- java 嵌套类: Nested classes
- Redis万字总结,面试必备
- 剪枝综述论文阅读:Methods for Pruning Deep Neural Networks
- 如何在Mac上的Safari中启用或禁用自动更正?
- Zabbix(四):高级应用之--宏、网络发现测试实例
- 蓝牙耳机性能测试软件,操作方便吗 蓝牙耳机横评之功能测试篇
- 工业物联网的体系架构
- 8.	Zigbee应用程序框架开发指南 - 事件
- 口胡平衡树splay
热门文章
- C#中Invoke的用法(转)
- C++如何调用父类的方法?
- C#调用C++的dll文件方法
- android usb多个,android、windows上多个USB Camera同时使用实验小结
- android数据回传多个页面_Android Day06四大组件之Activity多页面跳转和数据传递
- 目前最舒服笔记——印象笔记下载使用
- mysql忘记命令后半部分_Mysql 5 易忘的命令
- python点名代码_基于python tkinter的点名小程序功能的实例代码
- 编写程序判断两个数组是否相等,然后编写一段类似的程序比较两个 vector。
- linux修改ip广播地址,Linux设置查看静态IP之ifconfig命令