经典SQL语句收集(ORACLE)

gisinfo 2009-03-02 01:54:36
加精
1、经典的查询语句
2、经典的字定义函数
3、经典的与业务相关的存储过程
等等



抛砖引玉:备注本人彩票迷
(有点缺陷)
create or replace function f_ssqrandom(priornum in integer,endnum in integer)
return varchar2
is
v_prior_rand integer :=0;
v_end_rand integer;
v_string string(32000):='红色球';
begin
for v in 1..5 loop
for v_count in 1..3 loop
v_prior_rand:=floor(dbms_random.value(1,priornum));

v_end_rand:=v_prior_rand;
<<random>>
v_prior_rand:=floor(dbms_random.value(1,priornum));
if v_prior_rand!=v_end_rand then
v_string:=v_string||','||v_prior_rand||','||v_end_rand;
else
goto random;
end if;
dbms_output.put_line(v_string);
end loop;
v_string:=v_string||' 蓝色球, '||floor(dbms_random.value(1,endnum))||' 红色球';
end loop;
return v_string;

end f_ssqrandom;

希望不要恶意回帖 MARK 顶的大哥大姐 放心理就行 小弟心领了
...全文
54517 476 打赏 收藏 转发到动态 举报
写回复
用AI写文章
476 条回复
切换为时间正序
请发表友善的回复…
发表回复
言多必失 2012-11-01
  • 打赏
  • 举报
回复
mark
java_help_me 2012-10-07
  • 打赏
  • 举报
回复
真心感谢!太有用了~~~~
qq499634209 2012-07-18
  • 打赏
  • 举报
回复
谢谢。
adamxgl 2012-06-25
  • 打赏
  • 举报
回复
后面的大部分都是网上搜来的吧。
g4747085 2012-06-21
  • 打赏
  • 举报
回复
谢谢楼主提供,要是做成个pda或者doc文档让大家下载就好了
javaxiarixi 2012-06-06
  • 打赏
  • 举报
回复
相当好 呵呵
javaxiarixi 2012-06-06
  • 打赏
  • 举报
回复
收藏 很不错 呵呵
轨迹行 2012-05-16
  • 打赏
  • 举报
回复
删除重复值
(1)
--按empno分组,删除emp表中rowid不是最小的字段
delete scott.emp
where rowid not in (select min(rowid) from scott.emp group by empno);
(2)
--随便创建一个表添加emp表中不重复的数据
create table asd as select distinct * from scott.emp;
--截断表
truncate table scott.emp;
--将新建表中数据添加到emp表中
insert into scott.emp select * from asd;
--删除新建表
drop table asd;
luolunz 2012-05-08
  • 打赏
  • 举报
回复
真的很强大
SignLCF 2012-04-26
  • 打赏
  • 举报
回复
SQL over函数:可实现按指定字段分组排序,对于相同分组字段的结果集进行排序
over([partition by col1] --以col1做分割排序求值
[order by col2] --以col2排序连续求值
)
select deptno,empno,sal,
sum(sal) over(partition by deptno order by empno) 各部门连续求和,--以deptno做分割并排序,在以empno排序连续求和
sum(sal) over(partition by deptno) 各部门的总和,--以deptno分割排序求各部门的总和
100*round(sal/sum(sal) over(partition by deptno),4) "部门份额(%)",
sum(sal) over (order by deptno,empno) 所有部门连续求和,--以deptno,empno分别排序连续求和
sum(sal) over() 总和--等同于sum(sal)
100*round(sal/sum(sal) over(),4) "总份额(%)"
from EMP;
物润声无 2012-04-09
  • 打赏
  • 举报
回复
加盖一楼:
select regexp_replace('kj689','[[:alpha:]]','') from dual -- 去掉字母
select translate('kj689','0123456789'||'kj689','0123456789') from dual--只保留数字
物润声无 2012-04-09
  • 打赏
  • 举报
回复
加盖一楼
select regexp_replace('kj689','[[:alpha:]]','') from dual -- 去掉字母
select translate('kj689','0123456789'||'kj689','0123456789') from dual--只保留数字
liqiang498 2012-03-26
  • 打赏
  • 举报
回复
感谢楼主人的分享。
星小野 2012-02-20
  • 打赏
  • 举报
回复
谢谢分享
嬉戏猴 2012-02-14
  • 打赏
  • 举报
回复
好帖子,来洗脑啦
guxuanyake 2012-02-10
  • 打赏
  • 举报
回复
神贴 留名
sosohard 2012-02-10
  • 打赏
  • 举报
回复
擦,恶补一下 来了
imemy 2012-01-30
  • 打赏
  • 举报
回复
非常感谢
wayne很忙 2011-11-23
  • 打赏
  • 举报
回复
select deptno,mgr,sum(sal),min(sal),max(sal),count(deptno) from emp group by rollup(deptno,mgr)
free_xiaoyu 2011-11-21
  • 打赏
  • 举报
回复
收藏了,好的数据库查询语句
加载更多回复(456)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧