create  or  replace  function f_op (p_n1  number , p_op  varchar2 , p_n2  number )  return  number

as

begin

return  case  when p_op =  '+'  then p_n1 + p_n2

when p_op =  '-'  then p_n1 - p_n2

when p_op =  '*'  then p_n1 * p_n2

when p_op =  '/'  and p_n2<> 0  then p_n1 / p_n2

else  null

end ;

end f_op;

/

create  or  replace  procedure pro_241(p1  number , p2  number , p3  number , p4  number )  as

r_result  number  default  0 ;

begin

for r  in (

with t_num  as

( select  1  id ,p1  as n  from dual

union

select  2  id ,p2  as n  from dual

union

select  3  id ,p3  as n  from dual

union

select  4  id ,p4  as n  from dual),

t_op  as

( select  '+'  as o  from dual

union

select  '-'  as o  from dual

union

select  '*'  as o  from dual

union

select  '/'  as o  from dual)

select  distinct

a.n   as a,

o1.o  as o1,

b.n   as b,

o2.o  as o2,

c.n   as c,

o3.o  as o3,

d.n   as d

from t_num a, t_num b, t_num c, t_num d,

t_op  o1, t_op  o2, t_op  o3

where a.id  not  in (b.id, c.id, d.id)

and b.id  not  in (c.id, d.id)

and c.id <> d.id)  loop

r_result := f_op(f_op(f_op(r.a,r.o1,r.b),r.o2,r.c),r.o3,r.d);

if r_result=12  then

dbms_output.put_line( '((' ||r.a||r.o1||r.b|| ')' ||r.o2||r.c|| ')' ||r.o3||r.d);

end  if ;  --((a b) c) d

r_result := f_op(f_op(r.a,r.o1,r.b),r.o2,f_op(r.c,r.o3,r.d));

if r_result=12  then

dbms_output.put_line( '(' ||r.a||r.o1||r.b|| ')' ||r.o2|| '(' ||r.c||r.o3||r.d|| ')' );

end  if ;  --(a b) (c d)

end  loop ;

end ;

/

set serveroutput on;

exec pro_241( 32 , 13 , 3 , 17 );

24SQL的更多相关文章

  1. 30种oracle常见的等待事件说明

    1Buffer busy waits从本质上讲,这个等待事件的产生仅说明了一个会话在等待一个Buffer(数据块),但是导致这个现象的原因却有很多种.常见的两种是: 当一个会话视图修改一个数据块,但这 ...

  2. Oracle常见等待事件

    1Buffer busy waits从本质上讲,这个等待事件的产生仅说明了一个会话在等待一个Buffer(数据块),但是导致这个现象的原因却有很多种.常见的两种是: ·         当一个会话视图 ...

随机推荐

  1. Linux-001-nmon系统性能监控工具的使用及报表产出

    在进行性能测试的时候,需要获取服务器的各项指标,例如 CPU.MEM.I/O.DISK 等.网上有很多的监控工具,nmon 就是其中的一个,其可与 JMeter结合使用,测试系统的性能.其概要的介绍, ...

  2. Application_Error VS OnException 遇到的坑

    在工作中遇到一个巨坑,就是关于Application_Error和OnException,            本身我的应用程序设置了全局异常OnException处理,手动抛出异常,OnExcep ...

  3. 从Nginx的Web请求处理机制中剖析多进程、多线程、异步IO

    Nginx服务器web请求处理机制 从设计架构来说,Nginx服务器是与众不同的.不同之处一方面体现在它的模块化设计,另一方面,也是最重要的一方面,体现在它对客户端请求的处理机制上. Web服务器和客 ...

  4. IIS发布网站

    IIS发布网站几个问题 1.部署步骤:http://jingyan.baidu.com/article/3065b3b6e5becdbecff8a4d5.html Win7下IIS报503Servic ...

  5. (地址)Spring Data Solr

    http://docs.spring.io/spring-data/solr/docs/1.3.0.RELEASE/reference/html/

  6. MySQL查询出错提示 --secure-file-priv解决方法

    原文 在某台DB上准备运行一个SQL语句,就是用SELECT INTO OUTFILE把查询结果写入到文件的时候提示以下信息: The MySQL server is running with the ...

  7. HDU 5053 the Sum of Cube(简单数论)

    http://acm.hdu.edu.cn/showproblem.php?pid=5053 题目大意: 求出A^3+(A+1)^3+(A+2)^3+...+B^3和是多少 解题思路: 设f(n)=1 ...

  8. js乱码解决方法

    在开发中引用了Bootstrap多选插件,将其中显示的英文改为中文后,页面出现乱码. 对于大多数的Web页面我们一般使用俩种编码:UTF-8和GB2312,所以我们只要统一页面和JS的编码就可以避免乱 ...

  9. solr 日期查询格式

    //solr 日期格式: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); //开始 ...

  10. JSSDK用法//////////////////zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

    参照微信官方文档,调试成功之后总结如下: 步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. 步骤二: ...