- 浏览: 275399 次
- 性别:
- 来自: 福建
文章分类
- 全部博客 (98)
- jQuery (13)
- Ext (1)
- javascript (30)
- SSH项目 (5)
- webservice (1)
- struts2 (1)
- 其它 (7)
- hibernate (7)
- Oracle (19)
- 常用资料 (7)
- 全屏浏览器 (2)
- Linux (1)
- weblogic (3)
- java web打包安装程序 (1)
- 解决讨厌的Oracle死锁 (1)
- jxl 实现根据sql语句导出excel文件 (1)
- Java中使用的路径 (1)
- 存储过程锁问题 存储过程编译锁问题---解锁办法 (0)
- 存储过程锁问题、锁表问题 存储过程编译锁问题---解锁办法 (1)
- Oracle、导出序列 (1)
- java 抓取网页图片 (1)
最新评论
-
guoshuai_27:
...
24种页面切换效果详解 -
nucleus:
第一个例子少了sql demo1:统计某商店的营业额能补上去么 ...
超级牛皮的oracle的分析函数over(Partition by...) 及开窗函数 -
agan112:
xili
oracle数组例子 -
ye361571404:
谢谢了。。。。
weblogic92启动时的问题:Unmarshaller failed . -
bianxiaoxm:
感觉不错,值得学习!
js禁止页面刷新后退
/* Formatted on 2011-1-12 10:48:19 (QP5 v5.149.1003.31008) */ ---1.各个部门工资排名前几名的员工信息---------- --a. SELECT * FROM emp a WHERE (SELECT COUNT (*) FROM emp WHERE deptno = a.deptno AND sal > a.sal) <= 2 --改变该值即可以得到相应名次 AND a.deptno IS NOT NULL; /*b.c.d区别注意: 1.在求第一名成绩的时候,不能用row_number(),因为如果同班有两个并列第一,row_number()只返回一个结果 2.rank()和dense_rank()的区别是: --rank()是跳跃排序,有两个第二名时接下来就是第四名 --dense_rank()l是连续排序,有两个第二名时仍然跟着第三名 */ --b. SELECT * FROM (SELECT deptno, ename, sal, ROW_NUMBER () OVER (PARTITION BY deptno ORDER BY sal DESC) rn FROM emp) WHERE rn <= 3; --c. SELECT * FROM (SELECT deptno, ename, sal, RANK () OVER (PARTITION BY deptno ORDER BY sal DESC) rn FROM emp) WHERE rn <= 3; --d. SELECT * FROM (SELECT deptno, ename, sal, DENSE_RANK () OVER (PARTITION BY deptno ORDER BY sal DESC) rn FROM emp) WHERE rn <= 3; --e SELECT a.deptno, a.empno, a.ename, a.sal, -- 可跳跃的rank RANK () OVER (PARTITION BY a.deptno ORDER BY a.sal DESC) r1, -- 密集型rank DENSE_RANK () OVER (PARTITION BY a.deptno ORDER BY a.sal DESC) r2, -- 不分组排序 RANK () OVER (ORDER BY sal DESC) r3 FROM scott.emp a ORDER BY a.deptno, a.sal DESC; ---2.获取所有员工中工资第几高的员工信息 SELECT * FROM (SELECT t.*, DENSE_RANK () OVER (ORDER BY t.sal DESC) RANK FROM emp t) WHERE RANK = 3; --3.获取员工表中员工信息以及员工所在部门的最高工资和平均工资信息-------- SELECT e.*, sa.maxsal, sa.avgsal FROM emp e, ( SELECT MAX (sal) maxsal, AVG (sal) avgsal, deptno FROM emp ine GROUP BY deptno) sa WHERE e.deptno = sa.deptno OR (e.deptno IS NULL AND sa.deptno IS NULL); --4.求员工工资所占部门总工资的比率 SELECT ename, deptno, sal, TRUNC (sal * 100 / SUM (sal) OVER (PARTITION BY deptno), 2) percent FROM emp ORDER BY deptno; --5.获取所有员工中工资最高的几位 --a. SELECT * FROM ( SELECT * FROM emp ORDER BY sal DESC) WHERE ROWNUM <= 2; --b. SELECT * FROM (SELECT ename, deptno, sal, ROW_NUMBER () OVER (ORDER BY sal DESC) ee FROM emp) WHERE ee <= 4 AND ee >= 2; --6.获取各个部门工资排名在2到3 位的员工信息 --a. SELECT * FROM (SELECT deptno, ename, sal, ROW_NUMBER () OVER (PARTITION BY deptno ORDER BY sal DESC) rn FROM emp) WHERE rn <= 3 AND rn >= 2; --b. SELECT * FROM (SELECT deptno, ename, sal, RANK () OVER (PARTITION BY deptno ORDER BY sal DESC) rn FROM emp) WHERE rn <= 3 AND rn >= 2; --c. SELECT * FROM (SELECT deptno, ename, sal, DENSE_RANK () OVER (PARTITION BY deptno ORDER BY sal DESC) rn FROM emp) WHERE rn <= 3 AND rn >= 2; --7查出各个部门中工资大于平均工资的员工信息 --a(good) SELECT * FROM emp e WHERE e.sal > ( SELECT AVG (sal) FROM emp ine GROUP BY deptno HAVING e.deptno = ine.deptno); --b(not good) SELECT e.*, TRUNC (d.sal) avgsal FROM emp e, ( SELECT AVG (sal) sal, deptno FROM emp GROUP BY deptno) d WHERE e.deptno = d.deptno AND e.sal > d.sal ORDER BY e.deptno; --8根据排序来取得后一个值和当前值相加的结果 SELECT * FROM (SELECT ename, deptno, sal, SUM (sal) OVER (ORDER BY sal ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) ee FROM emp); ---9.分页处理的相关语句-------- --a最正确 SELECT * FROM (SELECT ROWNUM AS num, ine.* FROM ( SELECT * FROM emp ORDER BY empno) ine WHERE ROWNUM <= 7) WHERE num >= 3; --b SELECT * FROM ( SELECT ROWNUM AS num, emp.* FROM emp WHERE ROWNUM <= 7 ORDER BY empno) WHERE num >= 3; --c SELECT * FROM ( SELECT ROWNUM AS num, emp.* FROM emp ORDER BY empno) WHERE num >= 3 AND num <= 7; --11.根据工资高低来判断该员工的等级 SELECT e.ename, e.sal, DECODE (SUBSTR (TO_CHAR (TRUNC (sal, -3)), 1, 1), 0, 'sorry', 1, '1ok', 2, '2ok', 3, '3ok', 4, '4ok', 5, '5ok', 6, '6ok', 7, 'higth', 'to enough') FROM emp e; /*--12. sal<1000 显示低工资 sal-1000<0 sign(sal-1000) = -1 1000<=sal<=3000 正常工资 3000<sal<=5000 高工资 */ SELECT sal, DECODE ( SIGN (sal - 1000), -1, '低工资', DECODE ( SIGN (sal - 3000), -1, '正常工资', 0, '正常工资', 1, DECODE (SIGN (sal - 5000), -1, '高工资', '高工资'))) AS 工资状态 FROM emp; SELECT CASE WHEN sal >= 5000 THEN '高工资' END sal FROM emp; --13.一年以后的今天 SELECT ADD_MONTHS (SYSDATE, 12) FROM DUAL; --14.一年以前的今天 SELECT ADD_MONTHS (SYSDATE, -12) FROM DUAL; --15.本月第3天的日期 SELECT ADD_MONTHS (LAST_DAY (SYSDATE) + 3, -1) FROM DUAL; --20.求最大值 SELECT GREATEST (100, 90, 80, 101, 01, 19) FROM DUAL; --21.求最小值 SELECT LEAST (100, 0, -9, 10) FROM DUAL; --30计算工资在2000以上的各种工作的平均工资 SELECT job, AVG (sal) FROM emp WHERE sal > 2000 -- set amount mask set_amount_mask; END pre_form; PROCEDURE set_amount_mask IS BEGIN ------------------------------------- -- setup amount field's format mask -- ---------------------------------- SET_ITEM_PROPERTY ( 'HEADERS.TOTAL_AMOUNT', FORMAT_MASK, fnd_currency. get_format_mask ( :parameter.currency_code, GET_ITEM_PROPERTY ('HEADERS.TOTAL_AMOUNT', MAX_LENGTH))); SET_ITEM_PROPERTY ( 'LINES.LINE_AMOUNT', FORMAT_MASK, fnd_currency. get_format_mask (:parameter.currency_code, GET_ITEM_PROPERTY ('LINES.LINE_AMOUNT', MAX_LENGTH))); END set_amount_mask; 动态提交请求 APPS.FND_REQUEST.SUBMIT_REQUEST ( APPLICATION IN VARCHAR2 DEFAULT NULL, PROGRAM IN VARCHAR2 DEFAULT NULL, DESCRIPTION IN VARCHAR2 DEFAULT NULL, START_TIME IN VARCHAR2 DEFAULT NULL, SUB_REQUEST IN BOOLEAN DEFAULT FALSE, chr(0),'','','','','','','','','','','','','','','','','','','', '','','','','','','','','','', '','','','','','','','','','', '','','','','','','','','','', '','','','','','','','','','', '','','','','','','','','','', '','','','','','','','','','', '','','','','','','','','','', '','','','','','','','','','' ) RETURN NUMBER; 状态判断 get_block_property('headers',status) :SYSTEM.Mode GET_VIEW_PROPERTY(GET_ITEM_PROPERTY(:SYSTEM.CURSOR_ITEM, ITEM_CANVAS),WINDOW_NAME Get_Block_Property( 'LINES_PROMPT', PREVIOUSBLOCK) GET_RECORD_PROPERTY(:SYSTEM.CURSOR_RECORD,'SHOPPEDAYOVERTB_V',Status ); --:SYSTEM.RECORD_STATUS ; 键弹性域定义和更新 定义 fnd_key_flex.define( BLOCK=>'Items', FIELD=>'EXPENSE_ACCID_DSP', APPL_SHORT_NAME=>'SQLGL', CODE=>'GL#', ID=>'EXPENSE_CCID', REQUIRED=>'Y', USEDBFLDS=>'N', updateable=>'', VALIDATE=> 'FULL', VRULE=> '\\nSUMMARY_FLAG\\nI\\nAPPL=SQLGL;NAME=GL_NO_PARENT_SEGMENT_ALLOWED\\nN', NUM=>'ARAMETER.CHART_OF_ACCOUNTS_ID'); Form中执行SQL语句 sql1:=' TRUNCATE TABLE cfnd_matrix_cells'; FORMS_DDL(sql1); SELECT a.empno, a.ename, a.sal, -- 上面一行 LAG (a.sal) OVER (ORDER BY a.sal DESC) lag_1, -- 下面三行 LEAD (a.sal, 1) OVER (ORDER BY a.sal DESC) lead_1 FROM scott.emp a ORDER BY a.sal DESC; -- 用exists替代distinct的例子 SELECT DISTINCT d.deptno, dname FROM dept d, emp e WHERE d.deptno = e.deptno; SELECT deptno, dname FROM dept d WHERE EXISTS (SELECT 'x' FROM emp e WHERE d.deptno = e.deptno); -------=============行列转换部分处理================---------- --101.行列转换 行转列 DROP TABLE t_change_lc; CREATE TABLE t_change_lc ( card_code VARCHAR2 (3), q NUMBER, bal NUMBER ); INSERT INTO t_change_lc SELECT '001' card_code, ROWNUM q, TRUNC (DBMS_RANDOM.VALUE * 100) bal FROM DUAL CONNECT BY ROWNUM <= 4 UNION SELECT '002' card_code, ROWNUM q, TRUNC (DBMS_RANDOM.VALUE * 100) bal FROM DUAL CONNECT BY ROWNUM <= 4; SELECT * FROM t_change_lc; SELECT a.card_code, SUM (DECODE (a.q, 1, a.bal, 0)) q1, SUM (DECODE (a.q, 2, a.bal, 0)) q2, SUM (DECODE (a.q, 3, a.bal, 0)) q3, SUM (DECODE (a.q, 4, a.bal, 0)) q4 FROM t_change_lc a GROUP BY a.card_code ORDER BY 1; --102.行列转换 列转行 DROP TABLE t_change_cl; CREATE TABLE t_change_cl AS SELECT a.card_code, SUM (DECODE (a.q, 1, a.bal, 0)) q1, SUM (DECODE (a.q, 2, a.bal, 0)) q2, SUM (DECODE (a.q, 3, a.bal, 0)) q3, SUM (DECODE (a.q, 4, a.bal, 0)) q4 FROM t_change_lc a GROUP BY a.card_code ORDER BY 1; SELECT * FROM t_change_cl; SELECT t.card_code, t.rn q, DECODE (t.rn, 1, t.q1, 2, t.q2, 3, t.q3, 4, t.q4) bal FROM (SELECT a.*, b.rn FROM t_change_cl a, ( SELECT ROWNUM rn FROM DUAL CONNECT BY ROWNUM <= 4) b) t ORDER BY 1, 2; --103.行列转换 行转列 合并 DROP TABLE t_change_lc_comma; CREATE TABLE t_change_lc_comma AS SELECT card_code, 'quarter_' || q AS q FROM t_change_lc; SELECT * FROM t_change_lc_comma; SELECT t1.card_code, SUBSTR (MAX (SYS_CONNECT_BY_PATH (t1.q, ';')), 2) q FROM (SELECT a.card_code, a.q, ROW_NUMBER () OVER (PARTITION BY a.card_code ORDER BY a.q) rn FROM t_change_lc_comma a) t1 START WITH t1.rn = 1 CONNECT BY t1.card_code = PRIOR t1.card_code AND t1.rn - 1 = PRIOR t1.rn GROUP BY t1.card_code; --104.行列转换 列转行 分割 DROP TABLE t_change_cl_comma; CREATE TABLE t_change_cl_comma AS SELECT t1.card_code, SUBSTR (MAX (SYS_CONNECT_BY_PATH (t1.q, ';')), 2) q FROM (SELECT a.card_code, a.q, ROW_NUMBER () OVER (PARTITION BY a.card_code ORDER BY a.q) rn FROM t_change_lc_comma a) t1 START WITH t1.rn = 1 CONNECT BY t1.card_code = PRIOR t1.card_code AND t1.rn - 1 = PRIOR t1.rn GROUP BY t1.card_code; SELECT * FROM t_change_cl_comma; SELECT t.card_code, SUBSTR (t.q, INSTR (';' || t.q, ';', 1, rn), INSTR (t.q || ';', ';', 1, rn) - INSTR (';' || t.q, ';', 1, rn)) q FROM (SELECT a.card_code, a.q, b.rn FROM t_change_cl_comma a, ( SELECT ROWNUM rn FROM DUAL CONNECT BY ROWNUM <= 100) b WHERE INSTR (';' || a.q, ';', 1, rn) > 0) t ORDER BY 1, 2; -------------==================end 行列转换====================-------------- --105如果存在就更新,不存在就插入用一个语句实现 DROP TABLE t_mg; CREATE TABLE t_mg ( code VARCHAR2 (10), NAME VARCHAR2 (10) ); SELECT * FROM t_mg; MERGE INTO t_mg a USING (SELECT 'the code' code, 'the name' NAME FROM DUAL) b ON (a.code = b.code) WHEN MATCHED THEN UPDATE SET a.NAME = b.NAME WHEN NOT MATCHED THEN INSERT (code, NAME) VALUES (b.code, b.NAME); ---106-----========集合交并处理====================== DROP TABLE t1; DROP TABLE t2; CREATE TABLE t1 ( id NUMBER, NAME VARCHAR2 (20) ); CREATE TABLE t2 ( id NUMBER, NAME VARCHAR2 (20) ); INSERT INTO t1 VALUES (1, 'a'); INSERT INTO t1 VALUES (2, 'b'); INSERT INTO t1 VALUES (3, 'c'); INSERT INTO t1 VALUES (4, 'd'); INSERT INTO t1 VALUES (5, ''); SELECT * FROM t1; SELECT * FROM t1 WHERE NAME IS NULL; INSERT INTO t2 VALUES (1, 'a'); INSERT INTO t2 VALUES (2, 'b'); INSERT INTO t2 VALUES (3, 'c'); INSERT INTO t2 VALUES (12, 'a'); INSERT INTO t2 VALUES (22, ''); INSERT INTO t2 VALUES (32, ''); SELECT * FROM t2; SELECT * FROM t1; SELECT * FROM t2; SELECT * FROM t1 UNION --两表取并集,无重复值,且对结果排序 SELECT * FROM t2; SELECT * FROM t1 UNION ALL --两表取并集,有重复值,且结果不排序 SELECT * FROM t2; SELECT * FROM t1 MINUS --ti-t2 两表去差集 SELECT * FROM t2; SELECT * FROM t1 INTERSECT --两表取交集 DELETE FROM fnd_lobs WHERE file_id = l_gfm_id; FORMS_DDL('commit'); FORMS_DDL('commit'); END IF; END IF; END IF; END; ---未完转下
发表评论
-
oracle 表delete 通过闪回功能恢复数据
2012-12-24 15:29 1306第一步:确定删除时间点,找出SCN,后面需要根据SCN让 ... -
获取ORACLE 表字段,表名,以及主键之类等等的信息。
2012-09-29 09:27 4415获取表名: Oracle的user_talbes用于记录了 ... -
存储过程锁问题、锁表问题 存储过程编译锁问题---解锁办法,Oracle
2012-01-10 17:09 6255存储过程锁问题 存储过程编译锁问题---解锁办法 /* ... -
解决讨厌的Oracle死锁
2011-11-14 17:27 1330--第一步:查看是否有死锁存在,查出有数据则代表有死锁 ... -
Oracle左右全连接总结
2011-05-10 09:10 1097--建立测试数据 create table a(id ... -
超级牛皮的oracle的分析函数over(Partition by...) 及开窗函数
2011-04-19 14:37 20069超级牛皮的oracle的分析函数over(Partition ... -
平时积累的一些SQL语句(转) 2
2011-02-22 09:11 1518FORM中获取光标所在的TAB页面 1. 在Form级触发器 ... -
plsql异常处理
2010-12-08 10:30 1406一、异常 (1) 程序错误 - 编译时 ... -
plsql事务处理(二)
2010-12-08 10:25 1426自治事务 看看在oracle中一个事务调用另外一个事务的情况 ... -
plsql事务处理(一)
2010-12-08 10:23 58824,事务处理 Oracle是基于事务的,oracle以用户事 ... -
oracle自动备份、Oracle远程备份
2009-11-12 15:42 17331.在tnsnames.ora添加要远程备份的主机 如: ... -
Oracle临时表学习
2009-09-18 10:20 1033CREATE GLOBAL TEMPORARY TABLE ... -
Oracle临时表的使用2
2009-09-17 16:06 1409Temp Table 的特点: (1) 多用户操作的独立性: ... -
Oracle临时表的使用1
2009-09-17 16:00 19531。会话特有的临时表 ... -
exists 和 in 小结
2009-09-17 15:12 12281.用EXISTS替代IN 在许多 ... -
oracle数组例子
2009-09-16 14:52 18083--固定数组 declare type type_ar ... -
Oracle数组学习--01
2009-09-11 16:37 1957COUNT 返回集合中元素的个数 ... -
pl/sql一些常用小例子
2009-09-10 10:22 1292游标: 隐式游标:sql%found,sql%notfoun ...
相关推荐
描述中提到,“里面包括平时的一些记录,是记录了但都没看过也没用过”,这暗示了这个压缩包可能包含作者在学习或工作中积累的笔记、代码片段、问题解决方案或者教程,可能涵盖SQL查询编写、数据库设计、VS项目设置...
这种模式鼓励学生在实践中学习和运用SQL知识,比如编写SQL语句、构建数据库项目,同时促进团队协作和问题解决能力的提升。项目设计要求学生运用所学设计并实现一个数据库系统,测试他们的综合运用能力;案例分析则...
《SQL SERVER2000数据库学生信息系统详解》 在信息技术领域,...尽管SQL SERVER 2000已经不再是最新的数据库系统,但其在教育信息化领域积累的实践经验,对于理解现代数据库系统的设计和应用仍有重要的参考价值。
很抱歉,根据您提供的信息,标题“自己平时写的一些小例子”表明这可能是一个包含个人编程练习或示例代码的压缩包。然而,描述部分似乎并非相关知识点的描述,而是一串无意义的重复词语。标签“fdfdf”也没有提供...
2. 操作技能:熟悉SQL Server的各项操作,包括创建、修改和查询数据库对象,以及执行T-SQL语句进行数据处理。 3. 应用系统开发:了解数据库在实际应用系统设计中的作用,学习如何进行需求分析、数据库设计和系统开发...
标题中的“PHP 开发PHP公共课平时成绩查询系统”是一个基于PHP编程语言开发的应用,用于教育机构或教师管理学生的平时成绩。...通过实际项目的开发,开发者不仅可以提升技能,还能积累宝贵的实践经验。
描述中的“平时常用的一些sql,供大家参考”表明这些脚本是作者或团队在实际工作中积累下来的经验总结,旨在分享给其他数据库管理员(DBA)作为参考。 #### 知识点详解 ##### 1. 查询表空间大小 **脚本**: ```sql ...
我们可能会在代码中找到使用PDO或mysqli扩展进行数据库连接、执行SQL语句和处理结果集的例子。 5. **表单处理** Web应用中,用户输入的处理是常见的需求。PHP可以接收HTTP请求的数据,例如通过$_POST或$_GET全局...
2. 数据库基础:识别到的“SQL”提示这可能与数据库相关的知识有关,SQL(Structured Query Language,结构化查询语言)是操作数据库的核心语言,考试中会测试考生对基本SQL语句的掌握,如增、删、改、查等操作。...
Oracle 数据迁移到 DB2 数据库是一项常见的任务,特别是在企业级应用中,可能因为各种原因需要进行数据平台的更换。...同时,平时的学习和积累是关键,了解数据库的各种知识,以便在面临类似任务时能够得心应手。
这是一个学习的项目,用来总结平时用的技术。 将学习到的新技术积累在该项目下,以便在...使用logback打印mybatis sql语句 规划学习路径 集成kafkamq、rabbitMQ 添加常用的工具类 如StringUtil、DateUtil 多线程编程 热
11. 实际操作:在上机考试中,考生需要具备分析问题、查找资料、独立解决问题的能力,这需要在平时多做练习,积累经验。 "南开100题1.txt"可能包含了上述知识点的题目,考生可以通过解答这些题目来检验自己的知识...
1. **Python基础语法**:包括变量声明、数据类型(如整型、浮点型、字符串、布尔型、列表、元组、字典、集合)、运算符(算术、比较、逻辑、位运算符)、流程控制(if-else、for、while循环、break和continue语句)...
这些数据可以存储在数据库中,如MySQL或SQLite,通过SQL语句进行增删改查操作。 系统的核心功能可能包括以下几个部分: 1. **用户管理**:创建、修改和删除学生和教师账号,设置权限,确保数据的安全性。 2. **...
【东北大学计算机考研 往届题目】是针对有意报考东北大学计算机专业研究生的学生们的重要参考资料。这份资料集合了历年来的考研试题...同时,也要注重平时的知识积累和实践能力的培养,以应对可能出现的新题型和变化。
开发者可以利用其丰富的SQL语句进行数据操作,确保数据的安全性和一致性。 整个博客系统的架构可以这样描述:前端部分,用户通过Angular7和ng-zorro构建的用户界面浏览、发表和管理文章;后端部分,Koa2处理HTTP...
2. **MyBatis**:持久层框架,方便数据库操作,支持SQL动态语句。 3. **Thymeleaf**或JSP:视图模板引擎,用于渲染前端页面。 4. **Maven或Gradle**:构建工具,管理项目依赖和构建流程。 5. **MySQL**:可能是用作...
同时,系统可能还会涉及数据库设计,如ER图的绘制,表结构的优化,以及SQL查询语句的编写。 总的来说,C#学生成绩管理系统是一个典型的C/S和B/S结合的应用,它展示了C#在开发企业级应用中的强大能力。通过对三层...
这份“java参考文件”包含了平时积累的小知识,是学习和理解Java技术的好资源。以下是一些核心的Java知识点: 1. **Java基础**:Java的基础包括语法、变量、数据类型、运算符、流程控制(如if-else,for,while循环...
在实际开发过程中,学生可以深入学习德phi的事件驱动编程模型、数据库连接技术(如ADO或BDE)、SQL查询语句的使用等,从而提高编程技能和解决问题的能力。此外,课程设计中还需要考虑系统的可扩展性和维护性,为未来...