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
【oracle decode函数使用方法,oracle多线程函数怎么用?】ORDER BY 1

    推荐阅读