oracle decode函数使用方法 ,oracle多线程函数怎么用?

oracle多线程函数怎么用

oracle数据库中函数较多,而且每个函数都有自己的用法,所以要根据具体的函数查询具体的使用方法,比如:

decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3

当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多

oracle在xml中的SQL语句书写

select decode (column,'A''Yes','B','NO','GOOD') from table;(利用oracle中的decode 函数)

apex如何单排

在做表格时,我们经常有这样的需求,那就是把report的第一列设成单选框,这样用户可以通过勾选这些单选框,来选择需要集中进行操作的行,以进行批量删除或是修改。

在APEX中,这样的单选框可以通过apex_item包中的checkbox函数来实现。

函数原型如下:

APEX_ITEM.CHECKBOX(

p_idx IN NUMBER,

p_value IN VARCHAR2 DEFAULT NULL,

p_attributes IN VARCHAR2 DEFAULT NULL,

p_checked_values IN VARCHAR2 DEFAULT NULL,

p_checked_values_delimitor IN VARCHAR2 DEFAULT :,

p_item_id IN VARCHAR2 DEFAULT NULL,

p_item_label IN VARCHAR2 DEFAULT NULL)

RETURN VARCHAR2;

在apex中,单选框选中后的值会存储到一个内部集合之中,这个集合可能是个联合数组,具体实现不太清楚,但是这些集合最多只能有50个,也就是说,不同种类的单选框只能有50种。

p_idx参数就是指明到底是用第几个内部集合,如果你要创建一个大型的应用,其中很多页面要用到单选框,这样你就得找个地方记一下哪个集合对应于哪个页面或是场合,否则若是不同的场合用到了同一个集合,极有可能会导致数据出问题。

p_value 用来指示该存储什么数据,在具体应用时,这个一般是某个主键列。

p_attributes可以是Checked和Unchecked两种,用来指示单选框的初始选择状态。

p_checked_values与p_checked_values_delimitor结合,用来指定初始状态下那些单选框被默认选择或不选。p_value值如果在p_checked_values中出现,则单选框呈现p_attributes所指定的状态,例如如果p_value此时是10, p_checked_values是10:20,p_attributes是checked,那么因为p_value现在在p_checked_values之中,则此单选框呈现p_attributes所指定的勾选状态,而p_checked_values_delimitor则是用来分隔p_checked_values中各个值的分隔符,这里是个冒号。

p_item_id和p_item_label用来指定此单选框在html代码里面的id属性,应该在使用Javascript时会有不小的用途。

那么我们该如何得到单选框所选择的值呢,apex提供了apex_application包,在此包里,我们可以得到如下的集合变量APEX_APPLICATION.G_F01,这里G_F01就存储了被勾选的所有单选框的值,G_F是前缀,而01则是p_idx所指定的值,当然因为最多只能有50个不同的集合,所有只能有G_F01到G_F50可用。

以下代码摘自http://www.apex-

blog.com/oracle-apex/adding-a-checkbox-to-your-report-apex_item-tutorial-30.html

展示了如何挨个读取每个集合元素的值,然后进行dml操作,非常直观简单。

BEGIN

FOR i in

1..APEX_APPLICATION.G_F01.COUNT

LOOP

UPDATE emp

SET ticked = Y

WHERE empno = APEX_APPLICATION.G_F01(i);

END LOOP;

COMMIT;

END;

以下例子示范了如何让部门号是10的员工行被勾选:

SELECT APEX_ITEM.CHECKBOX(1,empno,DECODE(deptno,10,CHECKED,NULL)) Select,

ename, job

FROM emp

ORDER BY 1

以下例子示范了如何让部门号是10与20的员工行被勾选:

SELECT APEX_ITEM.CHECKBOX(1,deptno,NULL,10:20,:) Select,

ename, job

FROM emp

ORDER BY 1

版权声明:本文来自用户投稿,不代表【匆匆网】立场,本平台所发表的文章、图片属于原权利人所有,因客观原因,或会存在不当使用的情况,非恶意侵犯原权利人相关权益,敬请相关权利人谅解并与我们联系(邮箱:dandanxi6@qq.com)我们将及时处理,共同维护良好的网络创作环境。

(0)
上一篇 2023年06月06日 14:13
下一篇 2023年06月06日 15:12

相关推荐