判断语句: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 存储过程判断语句正确写法和时间查询方法的更多相关文章

  1. Oracle存储过程中跳出循环的写法

    注:本文来源于: <  Oracle存储过程中跳出循环的写法   > Oracle存储过程中跳出循环的写法 记录exit和return的用法 1:exit用来跳出循环 loop IF V_ ...

  2. Oracle 存储过程调用语句

    #oracle 存储过程调用语句declare v_custName varchar2(10); --客户姓名 v_num number; --订单分布天数 v_time number; --每日订单 ...

  3. SQL判断语句用法和多表查询

    1.格式化时间sql语句 本例中本人随便做了两张表,和实际不是很相符,只是想说明sql语句的写法. 例1表格式如下: 需求:查询出本表,但需要使time字段的时间格式为yyyy-MM-dd,比如:20 ...

  4. 8.Smarty的条件判断语句的写法

    {if $newObj eq 'a'} welcome a {elseif $a eq 'b'} welcome b {else} welcome others {/if}

  5. SSE图像算法优化系列十六:经典USM锐化中的分支判断语句SSE实现的几种方法尝试。

    分支判断的语句一般来说是不太适合进行SSE优化的,因为他会破坏代码的并行性,但是也不是所有的都是这样的,在合适的场景中运用SSE还是能对分支预测进行一定的优化的,我们这里以某一个算法的部分代码为例进行 ...

  6. oracle一条语句插入多个值的方法

    今天在实践过程中遇到一个问题, 我想往数据库插入多条数据时,使用了如下语句: insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4); 这条语句在mysql ...

  7. Oracle存储过程中不支持DML语言的解决方法(针对遇见的DROP关键字)

    ---存储过程中的原语句: ---删除表 DROP TABLE A_NEWTDDATA; --报错 经查询:存储过程不支持DML语言: 解决方法: execute immediate 'DROP TA ...

  8. 利用游标返回结果集的的例子(Oracle 存储过程)JAVA调用方法和.NET调用方法

    在sqlplus中建立如下的内容: 1.程序包 SQL> create or replace package types  2  as  3      type cursorType is re ...

  9. Oracle存储过程 使用游标、数组的配合查询

    查询输入的门牌号码是否在标准门牌库中存在.存在则返回相应的号码. public string GetValidate(){ OracleConnection conn = ConnectOra(); ...

随机推荐

  1. CentOS 源码安装MySQL5.7

    一.安装方式源码安装,源码包名称mysql-boost-5.7.27.tar.gz,此版本包含boost库,在解压后的boost路径下.安装时,可以-DDOWNLOAD_BOOST=1 -DWITH_ ...

  2. 2019nc#2

    A Eddy Walker 题意 你有n个点(0-n-1),按顺序形成一个环,初始时你在0的位子,你随机顺时针走一步或者逆时针走一步, 一旦你走到一个点后,环上所有点都被经过至少一次后,你就必须停下来 ...

  3. P2486 [SDOI2011]染色 维护区间块数 树链剖分

    https://www.luogu.org/problemnew/show/P2486   题意 对一个树上维护两种操作,一种是把x到y间的点都染成c色,另一种是求x到y间的点有多少个颜色块,比如11 ...

  4. 个推TechDay参会感悟

    上周六去参加了个推和FCC联合在梦想小镇举办的TechDay,当然是作为台下听讲选手参与的,想上去讲可惜实力他不允许啊,吹牛逼我在行,讲技术可就有点虚了,老老实实的坐在台下听大佬们的分享,当然由于买了 ...

  5. 《Ansible自动化运维:技术与佳实践》第二章读书笔记

    Ansible 安装与配置 本章主要讲的是 Ansible 安装与基本配置,主要包含以下内容: Ansible 环境准备 安装 Ansible 配置运行环境 Ansible 环境准备 从 GitHub ...

  6. SpringBoot+SpringMVC+MyBatis快速整合搭建

    作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...

  7. Vue 前端uni-app多环境配置部署服务器的问题

    目录 前端Vue 针对问题 package.json描述 多环境部署 查看源码获取解决方案 转载请标明出处: http://dujinyang.blog.csdn.net/ 本文出自:[奥特曼超人的博 ...

  8. 第一次作业:学习C++指针

    1 内存空间的访问方式 计算机的内存存储器被划分为一个个存储单元.储存单元按一定的规则编号,这个编号就是存储单元的地址.地址编码的基本单位是字节,每个字节由8个二进制位组成,也就是说每个字节是一个基本 ...

  9. SSM框架学习笔记(一)

    Spring框架 Spring :是一个开源框架,起初是为解决企业应用开发的复杂性而创建的,但是现在已经不止 企业级应用开发,Spring的核心就是提供了一个轻量级的控制反转和面向切面编程. SPri ...

  10. 实验吧CTF练习题---WEB---猫抓老鼠解析

    实验吧web之猫抓老鼠     地址:http://www.shiyanbar.com/ctf/20 flag值:KEY: #WWWnsf0cus_NET#     解题步骤: 1.观察题意,说是猫抓 ...