oracle动态排序是什么意思,利用动态SQL解决排序问题-数据库专栏,SQL Server
我们常遇到一个存储过程要做都种排序的情况。通常order by 的条件只有一个固定的,这是远远不够的。需要用一个变量来替换它,而oracle有不能识别order by后面的字符串。该怎么办呢?先看看我的一个糟糕方案:
if myorderby=objectid desc then –按名称排序
open outcur for select * from(
select rownum rowno,t.* from (
select objectid , hits,posttime from cartoon order by objectid desc) t
where rownum=startrow;
elsif myorderby=hits desc then –按点击率排序
open outcur for select * from(
select rownum rowno,t.* from (
select objectid , hits,posttime from cartoon order by hits desc) t
where rownum=startrow;
else –按时间排序
open outcur for select * from(
select rownum rowno,t.* from (
select objectid , hits,posttime from cartoon order by hits desc) t
where rownum=startrow;
end if;
这虽然是通常使用的两种排序方式得以功过,但显得繁杂而且不够通用。
这时我的同事的好办法:
—————————————————————————
if (myorderby is not null) then
mysql:=select * from( select rownum rowno,t.* from (
select objectid , hits,posttime from cartoon order by || myorderby ||
) t where rownum< || endrow || ) where rowno>= || startrow;
else
mysql:=select * from( select rownum rowno,t.* from (
select objectid , hits,posttime from cartoon order by posttime desc) t
where rownum< || endrow || ) where rowno>= || startrow;
end if;
open outcur for mysql;
怎么样,感觉不同凡响吧。希望你能有更好的办法。
oracle动态排序是什么意思,利用动态SQL解决排序问题-数据库专栏,SQL Server相关推荐
- python数据库操作批量sql执行_利用Python如何批量修改数据库执行Sql文件
利用Python如何批量修改数据库执行Sql文件 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 利用Python如何批量修改数据库执行Sql文件.txt ] (友 ...
- ligertoolbar 动态加载按钮_Axure利用动态面板实现环形加载进度条
先来看下效果. 基本原理 上面是组合效果,主要包含三个部分,左半圆.右半圆和中间的百分加载部分.左.右半圆的实现原理很简单,就是利用动态面板的遮挡功能,将一个完整的圆遮挡一半,然后在显示的那一半上面添 ...
- 动态代理的分析以及利用动态代理模式进行敏感词汇过滤
动态代理 增强对象的功能: 设计模式:一些通用的解决固定问题的方式 代理模式 概念: (1). 真实对象:被代理的对象 (2). 代理对象: (3). 代理模式:代理对象代理真实对象,达到增强真实对象 ...
- oracle 4098,ORA-04098错误解决方法-数据库专栏,ORACLE
ora-04098错误解决方法 数据库版本:8.1.5 平台:solaris 5.7 背景: 用户建立了一个trigger: create or replace trigger ddl_deny be ...
- oracle命令报01034,ORA-01034错误的解决办法-数据库专栏,ORACLE
ora-01034错误的解决办法 --oracle常见错误之一 事先说明,oracle高手是不需要看本文的. 这是个oracle数据库服务器比较常见的错误.有经验的用户几乎马上就能解决这个错误,再不济 ...
- oracle空值影响索引么,使用索引的误区之四:空值对索引的影响-数据库专栏,SQL Server...
使用索引的误区之四:空值对索引的影响 我们首先做一些测试数据: sql> create table t(x int, y int); table created 请注意,这里我对表t做了一个唯一 ...
- oracle 交叉链接,Oracle里的交叉SQL语句写法-数据库专栏,ORACLE
实例说明 资料表结构(红色为主键)==> 主表:test_part_cost_tab(料号资料表) part_no varchar2(20) part_name varchar2(50) 从 ...
- oracle sql语句备份数据库,用SQL语句备份SQL数据库_oracle
备份数据库的命令是: BACKUP DATABASE test TO disk = 'c:/test' WITH FORMAT, NAME = 'Full Backup of MyNwind' 解释如 ...
- axure内联框架和动态面板_【Axure】动态面板的理解与下拉列表的联动
刚开始学axure,发现入门还是蛮简单的,所以从现在开始写一些自己体会的内容,以后忘记了也可以来翻阅一下. 因为是入门,所以内容肯定是很简单的,但是本文也不会致力于写教程一样那么详细,还是侧重于自己的 ...
最新文章
- rocketmq sql解析过滤
- 【POJ 1200】Crazy Search(将字符映射为数字,将NC进制hash成10进制)
- 机器学习快速截图工具matlab版本——文件夹批量处理(原创)
- LAMP 2.2 Apache配置静态缓存
- git/github使用完整教程(1)基础
- jquery post php返回html,jquery ajax post 提交数据,返回的是当前网页的html?
- Servlet 客户端 HTTP 请求
- Git 笔记:廖雪峰Git 教程总结
- 二进制、十六进制转换表
- 联想启天M415安装esxi6.7
- 2021考研英语大作文笔记(刘晓燕版)
- asio strand
- Bootstrap 折叠(Collapse)插件
- 【POJ3281】Dining 网络流
- uniapp中app分享小程序方法
- Gherkin语法详解之Scenario outline(四)
- 北师大数据结构期末考试复习
- 数据中心网络设备管理(二)
- “我的2013”中奖有感及近期规划
- NB-IoT技术实战开发 ----- NB-IoT硬件介绍
热门文章
- JS中的setTimeout和setInterval函数
- 关于新创公司所需的icp,网文,软著和备案的申请
- 透明像素-Premultiplied Alpha的秘密
- PyTorch中F.cross_entropy()函数
- 如何用代码实现textbox换行
- “OneFlow U”吴文童:产品和开发者之间是相互作用的
- 【转】自使用linux常用命令练习题
- 超级红队知识库等你来战-我们要站在红队之巅
- 深山老林中的激情探险
- php表单提交serialize,jQuery使用serialize(),serializeArray()方法取得表单数据