Oracle 存储过程判断语句正确写法和时间查询方法
判断语句:if 条件 then
if 条件 then ************;
elsif 条件 then ************;
elsif 条件 then ************;
end if;
end if;
主要注意elsif 写法,少一个e
时间查询:to_char(t.uptime,'yyyy-mm-dd')='2015-10-27',用to_char函数转成字符型
和分页查询有关的存储过程:
create or replace procedure PROC_GET_CREATETASK
(
var_regionCode in char := '',
var_rwlx in nvarchar2 := '',
var_uptime in nvarchar2 := '',
var_orderfield in nvarchar2 := '',
var_ordertype in nvarchar2 := '',
var_pageindex in out number,
var_pagesize in out number,
var_totalRecords out number,
var_ret out SYS_REFCURSOR
)
is
v_sql VARCHAR2(4000) := '';
v_sqlCount VARCHAR2(4000) := '';
v_where VARCHAR2(4000) := 'WHERE 1=1 and sftask=''鍚?'';
v_totalPages number := 0;
v_startRecord Number(10);
v_endRecord Number(10);
begin
if var_regionCode is not null then
if var_regionCode='000000' then v_where := v_where;
elsif substr(var_regionCode,3,4)='0000' then
v_where := v_where || ' AND substr(t.xzqdm,0,2)=''' || substr(var_regionCode,1,2) || '''';
elsif substr(var_regionCode,5,2)='00' then
v_where := v_where || ' AND substr(t.xzqdm,0,4)=''' || substr(var_regionCode,1,4) || '''';
end if;
end if;
if var_rwlx is not null then
v_where := v_where || ' AND t.RWLX = '''|| var_rwlx || '''';
end if;
if var_uptime is not null then
v_where := v_where || ' AND to_char(t.uptime,''yyyy-mm-dd'') = ''' || var_uptime || '''';
end if;
v_sql := v_sql || 'select rownum r,t.* from VIEW_TASKMANAGE t ' || v_where;
v_sqlCount := v_sqlCount || 'select count(*) from (' || v_sql || ')';
execute immediate v_sqlCount into var_totalRecords;
if var_orderfield <> '' then
v_sql := v_sql || 'order by var_orderfield ';
end if;
if var_ordertype <> '' then
v_sql := v_sql || var_ordertype;
end if;
if var_totalRecords > 0 then
begin
v_totalPages := ceil(var_totalRecords / var_pagesize);
if var_pageIndex < 1 then
var_pageIndex := 1;
end if;
if var_pageIndex > v_totalPages then
var_pageIndex := v_totalPages;
end if;
v_startRecord := (var_pageIndex - 1) * var_pagesize + 1;
v_endRecord := var_pageIndex * var_pagesize;
v_sql := 'SELECT * FROM (' || v_sql || ') a where a.r between ' || v_startRecord || ' and ' || v_endRecord;
end;
end if;
open var_ret for v_sql;
end PROC_GET_CREATETASK;
Oracle 存储过程判断语句正确写法和时间查询方法的更多相关文章
- Oracle存储过程中跳出循环的写法
注:本文来源于: < Oracle存储过程中跳出循环的写法 > Oracle存储过程中跳出循环的写法 记录exit和return的用法 1:exit用来跳出循环 loop IF V_ ...
- Oracle 存储过程调用语句
#oracle 存储过程调用语句declare v_custName varchar2(10); --客户姓名 v_num number; --订单分布天数 v_time number; --每日订单 ...
- SQL判断语句用法和多表查询
1.格式化时间sql语句 本例中本人随便做了两张表,和实际不是很相符,只是想说明sql语句的写法. 例1表格式如下: 需求:查询出本表,但需要使time字段的时间格式为yyyy-MM-dd,比如:20 ...
- 8.Smarty的条件判断语句的写法
{if $newObj eq 'a'} welcome a {elseif $a eq 'b'} welcome b {else} welcome others {/if}
- SSE图像算法优化系列十六:经典USM锐化中的分支判断语句SSE实现的几种方法尝试。
分支判断的语句一般来说是不太适合进行SSE优化的,因为他会破坏代码的并行性,但是也不是所有的都是这样的,在合适的场景中运用SSE还是能对分支预测进行一定的优化的,我们这里以某一个算法的部分代码为例进行 ...
- oracle一条语句插入多个值的方法
今天在实践过程中遇到一个问题, 我想往数据库插入多条数据时,使用了如下语句: insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4); 这条语句在mysql ...
- Oracle存储过程中不支持DML语言的解决方法(针对遇见的DROP关键字)
---存储过程中的原语句: ---删除表 DROP TABLE A_NEWTDDATA; --报错 经查询:存储过程不支持DML语言: 解决方法: execute immediate 'DROP TA ...
- 利用游标返回结果集的的例子(Oracle 存储过程)JAVA调用方法和.NET调用方法
在sqlplus中建立如下的内容: 1.程序包 SQL> create or replace package types 2 as 3 type cursorType is re ...
- Oracle存储过程 使用游标、数组的配合查询
查询输入的门牌号码是否在标准门牌库中存在.存在则返回相应的号码. public string GetValidate(){ OracleConnection conn = ConnectOra(); ...
随机推荐
- CentOS 源码安装MySQL5.7
一.安装方式源码安装,源码包名称mysql-boost-5.7.27.tar.gz,此版本包含boost库,在解压后的boost路径下.安装时,可以-DDOWNLOAD_BOOST=1 -DWITH_ ...
- 2019nc#2
A Eddy Walker 题意 你有n个点(0-n-1),按顺序形成一个环,初始时你在0的位子,你随机顺时针走一步或者逆时针走一步, 一旦你走到一个点后,环上所有点都被经过至少一次后,你就必须停下来 ...
- P2486 [SDOI2011]染色 维护区间块数 树链剖分
https://www.luogu.org/problemnew/show/P2486 题意 对一个树上维护两种操作,一种是把x到y间的点都染成c色,另一种是求x到y间的点有多少个颜色块,比如11 ...
- 个推TechDay参会感悟
上周六去参加了个推和FCC联合在梦想小镇举办的TechDay,当然是作为台下听讲选手参与的,想上去讲可惜实力他不允许啊,吹牛逼我在行,讲技术可就有点虚了,老老实实的坐在台下听大佬们的分享,当然由于买了 ...
- 《Ansible自动化运维:技术与佳实践》第二章读书笔记
Ansible 安装与配置 本章主要讲的是 Ansible 安装与基本配置,主要包含以下内容: Ansible 环境准备 安装 Ansible 配置运行环境 Ansible 环境准备 从 GitHub ...
- SpringBoot+SpringMVC+MyBatis快速整合搭建
作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...
- Vue 前端uni-app多环境配置部署服务器的问题
目录 前端Vue 针对问题 package.json描述 多环境部署 查看源码获取解决方案 转载请标明出处: http://dujinyang.blog.csdn.net/ 本文出自:[奥特曼超人的博 ...
- 第一次作业:学习C++指针
1 内存空间的访问方式 计算机的内存存储器被划分为一个个存储单元.储存单元按一定的规则编号,这个编号就是存储单元的地址.地址编码的基本单位是字节,每个字节由8个二进制位组成,也就是说每个字节是一个基本 ...
- SSM框架学习笔记(一)
Spring框架 Spring :是一个开源框架,起初是为解决企业应用开发的复杂性而创建的,但是现在已经不止 企业级应用开发,Spring的核心就是提供了一个轻量级的控制反转和面向切面编程. SPri ...
- 实验吧CTF练习题---WEB---猫抓老鼠解析
实验吧web之猫抓老鼠 地址:http://www.shiyanbar.com/ctf/20 flag值:KEY: #WWWnsf0cus_NET# 解题步骤: 1.观察题意,说是猫抓 ...