




已阅读5页,还剩648页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
653Oracle8i/9i 数据库基础 (初稿) 赵元杰 2003年01月26日 前 言 本讲稿(ORACLE8i 数据库基础)是作者在多年的工作和授课中的总结,主要包括两个部分,第一部分是ORACLE SQL*PLUS基础,主要讲述ORACLE 应用系统设计的基本知识和给出一些有用的实例;第二部分是介绍ORACLE PL/SQL知识,主要讲述ORACLE数据库PL/SQL程序设计所用到基本知识,这部分给出进行应用设计所必需的基础知识。这两部分的内容都尽可能做到内容简洁而全面。特点是,1.用简单明了的语句对解释各个部分的内容,省去一些理论性的解释;2.给出作者在应用设计和开发中的一些具体的例子,为软件人员提供一些借鉴,省去查阅大量资料的时间。3.给出了许多资料所没有提供的一些使用技巧,如导出触发器等。总之,内容基本上包括当前Oracle8I的最新内容。同时也覆盖了最新的ORACLE8i OCP培训大纲的内容。不仅包含ORACLE 程序设计人员、DBA所必须掌握的知识,而且还含盖了系统分析员所要求的内容。与本书(讲稿)相伴的还有Oracle8i/9i初级数据库管理和Oracle8i/9i高级数据库管理。全书内容简练实用,可作为ORACLE 数据库管理人员参考,也可作为应用开发人员和系统分析与设计人员以及大学计算机专业教学的参考资料。由于作者水平所限,加之ORACLE的产品与内容的浩瀚,在资料的整理与收集中可能有不少错误和不妥之处,希望读者给予批评制正。作者联系电话是:010-6234 6242(home);1360 136 5681。E_Mail是 目 录第一部分 Oracle SQL*PLUS基础23第一章 Oracle数据库基础231.1 理解关系数据库系统(RDBMS)231.1.1 关系模型231.1.2 Codd十二法则241.2 关系数据库系统(RDBMS)的组成241.2.1 RDBMS 内核241.2.2 数据字典概念241.3 SQL、SQL*Plus及 PL/SQL251.3.1 SQL和SQL*PLUS的差别251.3.2 PL/SQL语言261.4 登录到SQL*PLUS271.4.1 UNIX环境271.4.2 Windows NT和WINDOWS/2000环境291.5 常用SQL*PLUS 附加命令简介311.5.1 登录到SQL*PLUS321.5.2 EXIT和QUIT321.5.3 DESCRIBE(显示表、视图结构)321.5.4 LIST(列出)命令331.5.5 Change(替换字符串)命令331.5.6 Append(追加字符串)命令341.5.7 Save保存当前缓冲区命令到文件341.5.8 GET将命令文件读到缓冲区351.5.9 SPOOL将信息记录到文件中351.5.10 再运行当前缓冲区的命令361.6 常用数据字典简介361.7 ORACLE数据类型381.8 SQL 语句基础441.8.1 SQL语句所用符号451.8.2 简单select 查询461.9 伪列及伪表461.10 使用SQL Worksheet工作47第二章 查询基础512.1 SELECT语句512.2 SQL中的单记录函数512.2.1 单记录字符函数512.2.2 单记录数字函数572.2.3 单记录日期函数632.2.4 单记录转换函数662.2.5 其它的单记录函数692.3 SQL中的组函数742.3.1 多记录组函数742.3.2 带 GROUP BY 的计算762.3.3 用 HAVING 来限制分组的计算762.4 控制和格式化输出772.4.1 用 ORDER BY 子句来对结果进行排序772.4.2 用 BREAK 命令 来对结果进行排列772.4.3 用 COMPUTE 命令对结果进行格式化792.5 配置会话环境832.5.1 ARRAYSIZE(取回的行数)832.5.2 AUTOCOMMIT(自动提交)832.5.3 LINESIZE(行显示宽度)842.5.4 LONG(长类型显示字节数)842.5.5 PAGESIZE(页行数)842.5.6 PAUSE(暂停)842.5.7 SPACE(列间空格)842.5.8 Termout (启/停屏幕显示)852.5.9 ECHO (启/停命令显示)852.5.10 TRANSACTION (启动事务)852.5.11 SHOW ALL(列出所有参数)852.6 格式化输出872.6.1 一般数据的格式化输出872.6.2 日期的格式化输出882.7 加标题902.8 建立简单报告902.9 输入变量92第三章 表及索引的定义操作943.1 建立表结构943.1.1 建立表结构命令943.1.2 建立表结构例子963.1.3 建立临时表结构973.3 修改表结构983.3.1 修改表结构命令983.3.2 修改表结构例子993.3.3 删除表结构1003.3.4 使用CHECK作限制约束1013.3.5 使用UNRECOVERABLE创建表1023.3.6 将表移动到新的数据段或新的表空间1023.3.7 手工分配表的存储空间1043.3.8 标记不使用的列和删除不使用的列1043.3 主键1063.3.1 创建主键1063.3.2 改变主键1083.3.3 删除主键1093.4 外部键1093.4.1 建立外部键1093.4.2 修改外部键1113.4.3 删除外部键1113.5 索引1123.5.1 建立索引1123.5.2 修改索引1133.5.3 删除索引1143.6 新索引类型1143.6.1 基于函数的索引1143.6.2 反向键索引1163.6.3 索引组织表1163.7 抽象数据类型的使用1183.8 大数据类型的使用1193.8.1 可用数据类型1193.8.2 为LOB数据类型指定存储1203.8.3 操作和检索LOB数据1213.9 表和索引有关的数据字典1243.9.1 表和索引数据字典1243.9.2 数据字典查询例子124第四章 视图、同义词和序列1274.1 视图1274.1.1 使用视图来修改表中数据1274.1.2 创建一个新视图1274.1.3 删除一个视图1294.1.4 改变视图1304.2 实体视图(MATERIALIZED VIEW)1304.2.1 创建实体视图1304.2.2 创建实体视图日志1364.2.3 修改实体视图1384.2.4 修改实体视图日志1404.2.5 实体视图完整例子1414.3 序号(sequence)1454.3.1 建立序号1454.3.2 修改序号1464.3.3 使用序号1464.3.4 删除序号1464.4 同义词1474.4.1 建立同义词1474.4.2 删除同义词1484.5 视图、同义词和序列有关的数据字典148第五章 簇与分区1495.1 簇( cluster )1495.1.0 簇概念1495.1.1 建立簇1505.1.2 改变簇1535.1.3 删除簇1535.1.4 删除簇索引1545.1.5 收集簇信息1545.2 分区1565.2.1 分区的优点1565.2.2 分区的方法1575.2.3 创建表的分区1585.2.3 创建索引的分区1635.2.4 维护表分区和索引分区1655.3 簇与分区有关的数据字典1675.3.1 分区、簇数据字典列表1675.3.2 基本的分区、簇信息查询167第六章 使用SQL 进行数据操作1686.1 INSERT操作1686.1.1 用文字插入操作1696.1.2 用子查询插入操作1696.2 UPDATE操作1706.2.1 用文字更新操作1716.2.2 用查询更新操作1716.2.3 用相关子查询更新操作1716.3 DETELE操作1726.3.1 用delete删除全部记录的操作1726.3.2 用delete有条件删除部分记录1736.3.3 用delete分段删除大量记录1736.4 insert、delete及update 的提交和撤消1746.4.1 自动提交的设置1746.4.2 保留点和撤消175第七章 复杂查询语句的使用1787.1 复杂查询语句的使用1787.1.1 相关子查询1787.1.2 外连接1787.1.3 自我连接1797.1.4 UNION,INTERSECT及MINUS1807.2 创建复杂的视图1817.2.1 分组视图1817.2.2 合计视图1817.2.3 组合视图1817.3 家族树1827.3.1 排除单一体和分枝1827.3.2 遍历至根1837.4 在from 中使用视图184第八章 一些高级的用法1868.1 关于DECODE1868.1.1 DECODE 中的if-then-else逻辑1868.1.2 DECODE 的简单例子1868.1.3 DECODE实现表的转置1878.2 关于访问远程数据库1908.2.1 数据库链接1908.2.2 使用同义词获得本地透明1918.2.3 在视图中使用user伪列1928.2.4 使用COPY功能1938.2.5 管理Oracle名称服务器1948.3 关于上下文的使用1948.3.1 设置上下文选项1948.3.2 为上下文查询设置表1958.3.3 优化文本索引1978.4 关于维数(DIMENSION)1978.4.1 CREATE DIMENSION语法1978.4.2 创建维的例子198第九章 安全管理2009.1 CREATE USER 命令2009.2 建立用户2019.2.1 外部验证(Authenticated )用户2019.2.2 全局(Globally)验证用户-企业验证2019.3 ALTER USER 命令2029.4 DROP USER 命令2029.5 GRANT 命令与REVOKE 命令2029.5.1 GRANT 命令2039.5.2 REVOKE 命令2039.6 权限和角色2049.6.1 建立角色2049.6.2 给角色授权2059.6.3 授权角色给用户2059.7 有关的数据字典2069.7.1 与用户、角色与权限有关的数据字典2069.7.2 查询数据字典信息206第十章 其它一些常见问题及技巧20910.1 一些常见问题20910.1.1 Oracle与2000年问题20910.1.2 如何正确插入日期数据21010.1.3 在查询中只返回满足条件的部分记录21110.1.4 快速大量删除数据Truncate21210.1.5 Rowid的使用21210.1.6 在查询中不让记录被更新21410.1.7 EXCEPTIONS(违反完整性)问题21410.1.8 Not in和Not Exists21510.1.9 关于 COPY命令21510.1.10 列值为NULL情形的处理21610.1.11 使用 product_user_file来限制用户使用产品21710.2 常用技巧21810.2.1 long 类型的查询21810.2.2 如何确定执行时间21910.2.3 如何终止用户会话21910.2.4 用TRANSLATE对数据加密和解密22010.2.5 如何用查询来修改数据22210.2.6 如何产生创建用户的脚本22310.2.7 如何产生创建表结构的脚本22310.2.8 如何产生创建视图的脚本22510.2.9 如何产生创建序号的脚本22610.2.10 如何为用户创建公共同义词226第二部分 Oracle PL/SQL基础228第十一章 PL/SQL 程序设计简介22811.1 概述22811.2 SQL与PL/SQL22811.2.1 什么是PL/SQL?22811.2.1 PL/SQL的好处229 有利于客户/服务器环境应用的运行229 适合于客户环境229 客户及服务器端的好处22911.2.2 PL/SQL 可用的SQL语句22911.3 运行PL/SQL程序23011.4 PL/SQL内置包231第十二章PL/SQL 块结构和组成元素23212.1 PL/SQL结构23212.2 PL/SQL块23312.3 标识符23312.4 PL/SQL 变量类型23412.4.1 变量类型23412.4.2 复合类型(记录和表)23512.4.3 使用%ROWTYPE23612.4.4 LOB类型23712.4.5 用户定义的子类型23712.4.6 数据类型的转换24012.5 运算符和表达式(数据定义)24012.5.1 关系运算符24012.5.2 一般运算符24012.5.3 逻辑运算符24112.6 变量赋值24112.6.1 字符及数字运算特点24212.6.2 Boolean 赋值24212.6.3 数据库赋值24212.6.4 可转换的类型赋值24312.7 变量作用范围以可见性24412.8 注释24512.9 简单例子24512.9.1 简单数据插入例子24612.9.2 简单数据删除例子246第十三章PL/SQL 处理流程24613.1 条件语句24713.2 循环语句24713.3 标号和GOTO语句25113.4 NULL 语句251第十四章 光标的使用25214.1 光标概念25214.1.1 处理显式光标25214.1.2 处理隐式光标25314.2 光标循环25514.2.1 简单循环25514.2.2 WHILE循环25614.2.3 光标 FOR 循环25614.2.4 关于NO_DATA_FOUND和%NOTFOUND25714.2.5 SELECT FOR UPDATE 光标25714.3 光标变量25814.3.1 声明光标变量25814.3.2 为光标变量分配存储空间25914.3.3 打开光标变量25914.3.4 关闭光标变量25914.3.5 光标变量例子25914.3.6 光标变量262第十五章 错误处理26315.1 异常处理概念26315.1.1 预定义的异常处理26415.1.2 触发异常情态26515.1.3 处理异常情态26615.1.4 用户定义的异常处理26715.2 异常情态传播26815.2.1 在执行部分引发异常情态26815.2.2 在声明部分引发异常情态26815.3 异常处理编程26915.4 在 PL/SQL 中使用 sqlcode,sqlerrm270第十六章 存储过程和函数27216.1 引言27216.2 存储过程27216.2.1 创建过程27216.2.2 使用过程27316.2.3 开发存储过程步骤274 编辑存储过程源码275 对存储过程程序进行解释275 调试源码直到正确275 授权执行权给相关的用户或角色27516.2.4 与存储过程相关数据字典27616.3 创建函数27616.4 过程和函数中的例外处理27816.4.1 使用系统定义的例外处理278 没有例外处理的缺点278 使用预定义的例外处理27916.4.2 使用用户定义的例外处理+28 定义的用户例外处理28 使用户EXCEPTION_INIT处理28 使用户raise_application_error处理282第十七章 创建包和使用包28317.1 引言28317.2 包的定义28317.3 包的开发步骤28417.4 包的头部说明28517.5 包体的说明28517.6 删除过程、函数和包28817.7 包的管理28917.7.1 包有关的数据字典28917.7.2 包中无效对象的查询和编译29017.7.3 包源代码的导出291第十八章 触发器29318.1 触发器类型29318.1.1 DML触发器29318.1.2 替代触发器29318.1.3 系统触发器29318.2 创建触发器29318.2.1 创建DML触发器29418.2.2 创建替代(Instead_of)触发器29618.2.3 创建系统触发器29718.2.4 触发器触发次序30018.2.5 使用触发器谓词30018.3 删除和使能触发器30118.4 创建触发器的限制30218.5 变异表30218.5.1 变异表典型例子30418.5.2 变异表错误的处理-30518.5.3 变异表小结-30818.6 触发器数据字典与管理30818.6.1 触发器数据字典30818.6.2 无效触发器的编译309第十九章 外部存储过程31019.1 什么是外部例程31019.2 C外部例程31019.2.1 调用步骤31119.2.2 参数映射( 转换)316第二十章 会话间通信与警告31820.1 DBMS_PIPE包31820.1.1 发送消息31820.1.2 接收消息31920.1.3 示例32020.2 DBMS_ALERT包33920.2.1 使用警告34020.2.2 警告所用的各个过程34020.2.3 警告例子34120.3 DBMS_PIPE和DBMS_ALERT差别342第二十一章 数据库作业和文件I/O34221.1 数据库作业与DBMS_JOB包34321.1.1 后台进程34321.1.2 运行作业方法34321.1.3 DBMS_JOB包所包含的程序-34621.1.4 失效作业35021.1.5 删除作业35121.1.6 修改作业参数35221.1.7 与作业参数有关数据字典35421.2 文件I/O35521.2.1 安全性35521.2.2 打开和关闭文件35621.2.3文件输出35721.2.3文件输入35821.2.4文件操作例子359第二十二章 在PL/SQL 使用SQL语句35922.1在PL/SQL 使用DML语句36022.2 伪列36222.3 GRANT、REVOKE 和权限36222.3.1 对象和系统权限36322.3.2 GRANT和REVOKE命令语法36322.4 事务控制36322.4.1 COMMIT 和 ROLLBACK36422.4.2 保留点 SAVEPOINT36422.5 在PL/SQL中使用SQL函数36522.5.1 错误处理函数36622.5.2 数字函数366第二十三章 PL/SQL程序调试与测试36723.1 PL/SQL调试器36723.2 Oracle的Procedure Builder调试器36723.2.1 编辑数据库中的Procedure37023.2.2 编辑一个新的Procedure37123.3 Keeptool调试器37423.4 PLedit调试器37423.5 问题诊断37823.5.1 调试指南37823.5.2 显示在编译产生的错误37923.6 插入测试表37923.7 DBMS_OUTPUT的使用37923.8 程序设计方法38123.8.1 模块化程序设计38123.8.2 自顶向下设计38123.8.3 数据抽象381第二十四章 性能及其它问题38224.1共享池38224.1.1 共享池工作原理38224.1.2 估计共享池大小38324.1.3 将PL/SQL 驻留在共享池中38424.2 SQL 语句调整38524.3 网络问题38824.4 PL/SQL wrap(转换器)38824.4.1 运行 wrap实用程序38824.4.2 输入和输出文件38924.5 DBMS_OUTPUT的使用389第二十五章 对象类型39125.1 对象类型定义39125.1.1 定义对象类型头39125.1.2 定义对象类型体39125.1.3 定义对象类型例子39225.1.4 初始化对象类型39325.1.5 使用对象类型39425.2 对象类型修改39525.3 对象类型删除396第二十六章 动态PL/SQL简介39826.1 概述39826.1.1 静态SQL和动态SQL39826.1.2 用DBMS_SQL 包实现动态39826.1.3 用本地动态SQL实现动态40026.2 使用DBMS_SQL进行动态编程40026.2.1 执行DML、DDL及Alter session语句40026.2.2 示例40326.2.3 执行DDL 语句40426.2.4 执行PL/SQL 块40526.4 本地动态SQL40626.4.1使用EXECUTE IMMEDIATE语句40626.4.2向后兼容情况40726.4.3指定参数模式408第二十七章 LOB和DBMS_LOB包简介40927.1 LOB类型一般使用40927.1.1 LOB类型存储40927.1.2 临时LOB类型41027.1.3 LOB类型的接口41127.2 一般LOB表与数据加载41127.2.1 建立包含LOB的表41127.2.2 用EMPTY_CLOB或EMPTY_BLOB插入LOB41327.2.3 一般的LOB插入41427.3 内部LOB和DBMS_LOB的使用41427.3.1 APPEND过程41527.3.2 CLOSE过程41627.3.3 COMPARE函数41627.3.4 COPY过程41827.3.5 ERASE过程42027.3.6 GETCHUNKSIZE函数42127.3.7 GETLENGTH函数42227.3.8 INSTR函数42327.3.9 READ过程42427.3.10 SUBSTR函数42527.3.11 WRITE过程42527.3.12 WRITEAPPEND过程42727.4临时LOB42727.4.1 建立临时LOB42827.4.2 查看临时LOB42827.4.3 释放临时LOB42927.4.4 从BFILE中加载临时LOB43027.4.5 查看临时LOB是否打开43027.4.6 显示临时LOB数据43127.4.7 从临时LOB读数据43227.4.8 从临时LOB读部分数据43327.4.9 比较两个临时LOB数据43427.4.10 查看临时LOB模式的存在43427.4.11 得到临时LOB的长度43527.4.12 拷贝部分临时LOB数据43627.4.13 为临时LOB拷贝位置43727.4.14 加临时LOB到另外的LOB43827.4.15 写追加到临时LOB43827.4.16 写数据到临时LOB43927.4.17 修理临时LOB数据43927.4.18 删除临时LOB数据44027.5外部LOB (BFILE)44127.5.1 BFILE目录指定44127.5.2 建立包括BFILE列的表44127.5.3 用BFILENAME()插入数据44327.5.4 从另外表选择BFILE插入数据44327.5.5 用初始化BFILE位置来插入数据BFILE行44327.5.6 动态加载数据BFILE的表44327.5.7 用BFILE数据来加载LOB数据44427.5.8 用FILEOPEN打开BFILE44527.5.9 用OPEN打开BFILE44527.5.10 用FILEISOPEN看BFILE是否打开44527.5.11 用ISOPEN看BFILE是否打开44627.5.12 显示BFILE44627.5.13 从BFILE中读数据44727.5.14 读部分BFILE44727.5.15 比较BFILE44827.5.16 判断BFILE是否存在模式44827.5.17 判断BFILE是否存在44927.5.18 得到BFILE长度44927.5.19 拷贝BFILE的LOB位置45027.5.20 得到目录别名和文件名字45027.5.21 用初始化BFILE位置更新BFILE45127.5.22 用FILECLOSE关闭BFILE45127.5.23 用CLOSE关闭BFILE45127.5.24 用CLOSEALL关闭所有BFILE45227.5.25 用DELETE等删除BFILE数据45227.6 使用SQL*loader加载LOB45227.6.1 加载图象和文本文件45227.6.2 加载文本文件453第二十八章 PL/SQL编程技巧45628.1用触发器实现日期格式的自动设置45628.2如何避免TOO_MANY_ROWS错误45728.3如何解决TOO_MANY_ROWS问题46028.4如何在PL/SQL中使用数组46128.5如何使用触发器完成数据复制46228.6在PL/SQL中实现Truncate46328.7如何导出存储过程、触发器的代码464附录A:SQL及SQL*PLUS 命令参考473%FOUND473%ISOPEN474%NOTFOUND475%ROWCOUNT475%ROWTYPE476%TYPE477(+)478 (“at” 号)478478ABS479ACCEPT479ACOS480ADD_MONTHS480ALTER CLUSTER481ALTER DATABASE481ALTER FUNCTION482ALTER INDEX483ALTER PACKAGE483ALTER PROCEDURE484ALTER PROFILE484ALTER RESOURCE COST485ALTER ROLE485ALTER ROLLBACK SEGMENT486ALTER SEQUENCE486ALTER SESSION487ALTER SNAPSHOT487ALTER SNAPSHOT LOG488ALTER SYSTEM489ALTER TABLE489ALTER TABLESPACE490ALTER TRIGGER491ALTER TYPE491ALTER USER492ALTER VIEW493ANALYZE493APPEND494ASCII494ASIN495ATAN495ATAN2496AUDIT496AVG497BFILENAME497BLOCK498BTITLE499CEIL500CHANGE501CHARTOROWID501CHR502CLEAR502CLOSE503COLUMN503COMMENT504COMMIT504COMPUTE505CONCAT506CONCATENATE506CONNECT BY507CONVERT507COPY508COS508COSH509COUNT509CREATE CLUSTER510CREATE CONTROLFILE511CREATE DATABASE511CREATE DATABASE LINK512CREATE PROFILE513CREATE DIRECTORY513CREATE FUNCTION514CREATE INDEX514CREATE LIBRARY515CREATE PACKAGE516CREATE PACKAGE BODY517CREATE PROCEDURE518CREATE ROLE519CREATE ROLLBACK SEGMENT519CREATE SCHEMA520CREATE SEQUENCE521CREATE SNAPSHOT521CREATE SNAPSHOT LOG522CREATE SYNONYM523CREATE TABLE523CREATE TABLESPACE525CREATE TRIGGER526CREATE TYPE527CREATE TYPE BODY527CREATE USER528CREATE VIEW529CURRVAL530CURSOR_ALREADY_OPEN530DATATYPE531DATATYPE CHAR531DATATYPE DATE532DATATYPE FLOAT532DATATYPE LONG532DATATYPE LONGRAW532DATATYPE MLSLABEL533DATATYPE NUMBER533DATATYPE RAW533DATATYPE ROWID534DATATYPE VARCHAR534DATATYPE VARCHAR2534DECLARE534DECODE535DEFINE536DEL536DELETE537DEREF537DESCRIBE538DROP CLUSTER538DROP DATABASE LINK539DROP DIRECTORY539DROP FUNCTION539DROP INDEX540DROP LIBRARY540DROP PACKAGE541DROP PROCEDURE541DROP PROFILE542DROP ROLE542DROP ROLLBACK SEGMENT542DROP SEQUENCE543DROP SNAPSHOT543DROP SNAPSHOT LOG544DROP SYNONYM544DROP TABLE545DROP TABLESPACE545DROP TRIGGER545DROP TYPE546DROP TYPE BODY546DROP USER547DROP VIEW547DUMP548DUP_VAL_ON_INDEX548EDIT549EMPTY_BLOB549EMPTY_CLOB550EXCEPTION INIT Pragma550EXECUTE551EXISTS551EXIT552EXIT553EXIT-WHEN553EXP554EXPLAIN PLAN554FETCH555FLOOR556FOR-LOOP556FORMAT557FORMAT DATE557FORMAT NUMBER558GET558GLB558GOTO559GRANT560GREATEST560GREATEST_LB561HEXTORAW561HOST562IF-THEN562IF-THEN-ELSE563IF-THEN-ELSEIF563INITCAP564INPUT565INSERT565INSTR566INSTRB566INTERSECT567INVALID_CURSOR568INVALID_NUMBER568KEYWORDS569LABELS570LAST_DAY571LEAST571LEAST_LB572LENGTH572LENGTHB573LIKE573LIST574LN575LOCK TABLE575LOG576LOGIN_DENIED576LOOP577LOWER578LPAD578LTRIM579LUB579MAKE_REF580MAX580MIN581MINUS581MOD582MONTHS_BETWEEN582NEW_TIME583NEXT_DAY584NEXTVAL584NLS_CHARSET_DECL_LEN585NLS_CHARSET_ID585NLS_CHARSET_NAME585NLS_INITCAP586NLS_LOWER586NLS_UPPER587NO_DATA_FOUND588NOAUDIT588NOT_LOGGED_ON589NULL589NVL590OPEN591OPEN-FOR591运算符592运算符 592运算符592运算符 =593运算符! =594运算符*594运算符+595运算符-*595运算符/596运算符=596运算符=597运算符AND598运算符BETWEEN598运算符IN599运算符IS NOT NULL599运算符IS NULL600运算符NOT600运算符NOT BETWEEN601运算符NOT IN601运算符OR602PRIOR602PROGRAM_ERROR603PROMPT603PSEUDOCOLUMN604RAISE604RAWTOHEX605RECORD605REFTOHEX606REMARK607RENAME607REPFOOTER607REPHEADER608REPLACE609REPLACE610RETURN610REVOKE611ROLLBACK611ROUND612ROWIDTOCHAR613ROWTYPE_MISMATCH613RPAD614RTRIM615SAVE615SAVEPOINT616SELECT616SELECT INTO617SET618SET ROLE620SET TRANSACTION620SHOW621SIGN621SIN622SINH623SOUNDEX623SPOOL624SQLERRM624SQLPLUS624SQRT625START625STDDEV626STORAGE626STORAGE_ERROR627STORE628SUBSTR628SUBSTRB629SUM629SYSDATE630TABLE630TAN631TANH631TIMEOUT_ON_RESOURCE632TIMING632TO_CHAR (date)633TO_CHAR (label)633TO_CHAR (number)634TO_DATE (char)634TO_LABEL (char)635TO_MULTI_BYTE (char)635TO_NUMBER (char)636TO_SINGLE_BYTE (char)636TOO_MANY_ROWS637TRANSLATE637TRUNC (date)638TRUNC (number)639TRUNCATERUNCATE639TTITLE640UID640UNDEFINE641UNION641UNION ALL642UPDATE643UPPER643USER644USERENV644VALUE_ERROR645VARIABLE646VARIABLE ASSIGNMENT646VARIANCE646VSIZE647RESERVED WORDS648WHENEVER OSERROR648WHENEVER SQLERROR649WHILE-LOOP649ZERO_DIVIDE650第一部分 Oracle SQL*PLUS基础第一章 Oracle数据库基础Oracle的SQL*PLUS是设计所有应用系统的基础工具。要想将应用系统设计成一个健壮的、性能优越的系统。最关键的是要理解RDBMS的真正含义和结构,理解Oracle SQL*PLUS 的特点和核心,弄清关系数据库与桌面数据库的差别。比如理解数据的完整性、一致性、索引、视图等。只有这样才能设计出符合Oracle特点的应用系统。从而保证系统在提供使用后不会出现一致性、性能等问题。1.1 理解关系数据库系统(RDBMS)CODASYL(数据系统语言协会)是数据库任务组(Database Task
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年营养师考试冲刺试卷:实操技能与心理营养深度解析
- 新能源汽车发展前景
- 深层搅拌桩软基处理施工方案
- 2025年东北师范大学教师教育研究院春季学期专任教师招聘7人考前自测高频考点模拟试题及答案详解(新)
- 2024计算机四级考前冲刺练习试题及答案详解【夺冠】
- 2024计算机四级考前冲刺练习及答案详解【考点梳理】
- 2025临床执业医师测试卷(名校卷)附答案详解
- 2024-2025学年自考专业(计算机网络)考试彩蛋押题含答案详解(完整版)
- 2024自考专业(建筑工程)考试黑钻押题含答案详解(培优A卷)
- 2024-2025学年度广播电视播音员主持人能力提升B卷题库附参考答案详解【能力提升】
- 供水工程成本预算与动态控制方案
- 护栏供应及安装合同范本
- 2025年反假货币试题题库及答案
- 现房与期房培训课件
- 2024年仙桃市高新技术产业投资有限公司招聘笔试真题
- 汽车知识培训讲师简介课件
- 2025年教师职称-浙江-浙江教师职称(基础知识、综合素质、初中信息技术)历年参考题库典型考点含答案解析
- 北京高校标准化食堂标准(2026版)讲解
- 专题1.4数学归纳法(高效培优讲义)
- 卒中后抑郁症的中医治疗
- 泸州北方化学工业有限公司锅炉烟气脱硫脱硝除尘技改项目环评报告
评论
0/150
提交评论