Oracle常用SQL与存储过程精要

需积分: 3 1 下载量 126 浏览量 更新于2024-09-14 收藏 4KB TXT 举报
Oracle是一种广泛使用的数据库管理系统,本文档涵盖了Oracle中一些常见的SQL语句和存储过程语法,旨在帮助用户更好地理解和操作Oracle数据库。以下是一些关键知识点的详细解释: 1. **RANK()函数**: RANK()函数是Oracle中的窗口函数,用于对查询结果集中的行按照指定的列进行排名。在这个部分,`rank()` over (partition by v.FAULT_ID order by v.dealTime desc, v.OPERATE_SEQ desc)` 表示根据FAULT_ID字段的值和dealTime、OPERATE_SEQ列的降序对数据进行排名,返回每一组FAULT_ID中的行号。 2. **区域查询**: 使用 `START WITH` 和 `CONNECT BY` 递归子查询,如 `SELECT * FROM sys_area WHERE area_name = 'ɳ' CONNECT BY prior area_id = up_area_id ORDER BY area_id`,这一段代码是查询特定名称(ɳ)的区域,并沿着上级区域ID进行递归查找,最终按照area_id排序,确保获取每个节点及其父级的完整结构。 3. **数据导出与导入**: `EXP` 和 `IMP` 命令用于在Oracle中导出(exp)和导入(imp)数据。`exp utl_file...` 是一个命令来导出数据库对象到外部文件,`imp` 则用于从外部文件恢复数据。这在数据库维护或备份时非常实用。 4. **ROWNUM限制和SQL Server TOP类似**: `ROWNUM <= 1` 和 `ROWNUM = 1` 是Oracle中用于限制查询结果集的行数,类似于SQL Server中的`TOP`关键字,这里用于获取第一条或前一条记录。 5. **PL/SQL函数和权限管理**: PL/SQL是Oracle的编程语言,`WM_CONCAT` 是用于连接字符串的函数。`GRANT` 命令用于授权用户对数据库对象的访问权限,例如 `GRANT resource, dba, connect TO` 分别赋予特定权限。 6. **表名修改和创建表**: `ALTER TABLE fault_ticket RENAME TO fault_ticket1` 是对表名的重命名操作,而 `CREATE TABLE ccas` 用于创建新的表,从 `config_static_rel` 中选择所有不等于1的行。 7. **序列生成**: `CREATE SEQUENCE SEQ_SEND_ROLE` 是创建一个序列,用于生成连续的数字,起始值为1,步长为1,最大值非常大,且设置了缓存区大小。 8. **循环控制和条件判断**: 代码中包含了一些循环和条件控制结构,如 `WHILE` 循环,以及 `IF EXISTS` 条件判断,用于处理程序流程中的逻辑判断和执行。 9. **员工查询**: `SELECT * FROM sys_emplee_pssep WHERE ...` 部分用于查找符合条件(员工ID和接收工作任务类型ID)的员工记录。 本文档提供了一个Oracle数据库操作的实用参考,涵盖了从基本的SQL查询、数据迁移、权限管理到高级的PL/SQL编程和复杂查询逻辑等多方面的内容。对于任何使用Oracle的开发人员或管理员来说,这些都是必备的技能和知识。