SQL通用规范 -V0.4.docx

上传人:李司机 文档编号:6881436 上传时间:2024-03-15 格式:DOCX 页数:12 大小:46.46KB
返回 下载 相关 举报
SQL通用规范 -V0.4.docx_第1页
第1页 / 共12页
SQL通用规范 -V0.4.docx_第2页
第2页 / 共12页
SQL通用规范 -V0.4.docx_第3页
第3页 / 共12页
SQL通用规范 -V0.4.docx_第4页
第4页 / 共12页
SQL通用规范 -V0.4.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《SQL通用规范 -V0.4.docx》由会员分享,可在线阅读,更多相关《SQL通用规范 -V0.4.docx(12页珍藏版)》请在三一办公上搜索。

1、SQL通用规范一、建表规约1、【强制】数据库表名由多段组成,即类别词、基本词和限定词。1)表名命名须使用有意义的英文词汇,见名知意,禁止使用拼音及拼音英文混用方式,特别是不要用拼音缩写。2)表名必须要有类别词和基本词,限定词可以缺省。3)表名禁止出现数字开头。4)表名禁止两个下划线中间只出现数字。5)表名总长度不能超过30字符。6)表名必须有备注并及时更新。7)表名不使用复数名词。表名应该仅仅表示表里面的实体内容,不应该表示实体数量,对应于DO类名也是单数形式,符合表达习惯。8)建议使用名词不是动词。2、【强制】字段名由多段组成,即类别词、基本词和限定词。,禁止出现数字开头,说明:数据库字段名

2、的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。D字段名命名须使用有意义的英文词汇,见名知意,禁止使用拼音及拼音英文混用方式,特别是不要用拼音缩写。2)字段名必须使用大写字母或数字0)说明:便于维护与访问,使用小写在不加双引号是下会出现无法匹配到表的情况。3)表名禁止出现数字开头。4)表名禁止两个下划线中间只出现数字。5)字段名要保证同名同意,异名异意。6)字段名必须有备注并及时更新。7)字段名总长度不能超过30字符。8)尽量不使用LONG,TEXT,BLOB,CLOB,NCLOB,LONGRAW这一类的数据类型,而是使用其他可以替代的数据类型。说明:大字段会导致行外存储且无法建

3、聚集索引,对查询效率有影响。9)建议使用名词不是动词。3、【强制】数据库应用表必备五个字段:ID,CREATED_BY;CREATED_DATE,LAST_MODIFIED_BYLAST_MODIFIED_DATEo说明:其市D为主键,类型为长整型,使用雪花算法保证全局唯一。CREATED_DATE,LAST_MODIFIED_DATE的类型均为date_time类型,CREATED_BYLAST_MODIFIED_BY的类型均为VarChar类型。所有基表都要有记录创建者、记录创建时间、记录最后修改者、记录最后修改时间等四个字段,用于记载每条记录的创建者、创建时间和最后修改者、最后修改时间。

4、这些字段不能用于其它功能。每条记录作任何修改操作时,都要修改最后修改者、最后修改时间。4、【强制】Sequence命名由SEQ表名列名组成。5、【强制】禁用保留字,如desc、rangematch、delayed等。(达梦数据库保留字详见附录B)说明:使用数据库保留字会导致语句解析异常,达梦的完整的保留字列表可在数据库中查询select*fromv$reserved_words6、【强制】表达“是”与“否”概念的字段,必须使用is_xxx的方式命名,数据类型根据实际使用数据库定义(1表示“是”,0表示“否”)。7、【强制】VarChar是可变长字符串,不预先分配存储空间,长度不要超过5000,

5、如果存储长度大于此值,定义字段类型为text,独立出来一张表,用主键来对应,避免影响其它字段索引效率。说明:大字段会导致行外存储且无法建聚集索引,对查询效率有影响。8、【推荐】字段允许适当冗余,以提高性能,但是必须考虑数据同步的情况。冗余字段应遵循:D不是频繁修改的字段。2)不是VarChar超长字段,更不能是text字段。正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存储类目名称,避免关联查询。14、【推荐】单表行数超过500万行或者单表容量超过2GB,才推荐进行分库/分表。说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。15、【

6、参考】合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的是提升检索速度。说明:无符号值可以避免误存负数,且扩大了表示范围。尽可能避免使用VarChar也会对运行效率有提升015、【推荐】时序数据优先考虑存入时序数据库。说明:时序数据存储主要考虑采样点或者设备数、采样周期、数据存储时间以及写入方式和存储性能等因素,如果分钟级采样采样点在百万内,采用大批入库方式关系数据库一般也可以满足要求,对于秒级采样等周期短且规模大的场景一般建议采用专用的时序库进行存储为优;另外也应考虑入库后的数据应用场景问题。16、【强制】二进制文件不允许写入关系数据库,应存入对象存储。二、索引规约1、【强制】

7、索引命名IDX_表名一字段名(如果存在多字段索引,取每字段前三个字符加下划线组合)。说明:IDX即index的简写。1)唯一索引命名:UK_表名一字段名(如果存在多字段唯一索引,取每字段前三个字符加下划线组合)。说明:UK即UniqUekey的简写。2)主键索引命名:PK_表名一字段名(如果存在多字段主键,取每字段前三个字符加下划线组合)。2、【强制】业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。说明:不要以为唯一索引影响了insert速度,这个速度损耗可以忽略,但提高查找速度是明显的,另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。

8、3、【强制】建组合索引的时候,区分度最高的在最左边。正例:如果wherea=?andb=?,a列的几乎接近于唯一值,那么只需要单建idxa索引即可。说明:存在非等号和等号混合判断条件时,在建索引时,请把等号条件的列前置。如:wherea?andb=?那么即使a的区分度更高,也必须把b放在索引的最前列。4、【强制】主键索引在建立的时候一定要明确指定名称,不能使用系统默认建立主键索引。5、【强制】超过三个表禁止join,需要join的字段,数据类型必须绝对一致;多表关联查询时,保证被关联的字段需要有索引。说明:视图当中出现多表关联同样无法保证执行效率,如果业务逻辑确实无法简化,对于基表变动不多的情

9、况可以考虑建为物化视图.说明:即使双表join也要注意表索引、SQL性能。6、【强制】在VarChar字段上建立索引时,必须指定索引长度,不能对全字段建立索引,根据实际文本区分度决定索引长度。说明:索引的长度与区分度是一对矛盾体,一般对字符串类型数据,长度为20的索引,区分度会高达90%以上,可以使用CoUnt(distinctleft(列名,索引长度)count(*)的区分度来确定。7、新增:【强制】如果索引不能提高任何应用中的查询速度,应删除该索引。说明:每当有记录在表中增减或索引列被修改时,索引本身也会被修改。这意味着每条记录的INSERT、DELETE.UPDATE将为此多付出4、5次

10、的磁盘I/O。因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询反应时间变慢。8、【推荐】如果有Orderby的场景,请注意利用索引的有序性。说明:Orderby最后的字段是组合索引的一部分,并且放在索引组合顺序的最后,避免出现filesort的情况,影响查询性能。正例:wherea=?andb=?orderbyc;索:abc反例:索引中有范围查找,那么索引有序性无法利用,如:WHEREa10ORDERBYb:由于过滤b的记录顺序己经打乱,需要重新排序,无法利用索引ab原有顺序进行排序。9、【推荐】利用覆盖索引来进行查询操作,避免回表。说明:如果一本书需要知道第11章是什么标题,会

11、翻开第11章对应的那一页吗?目录浏览一下就好,这个目录就是起到覆盖索引的作用。正例:能够建立索引的种类:主键索引、唯一索引、普通索引,而覆盖索引是一种查询的一种效果,用explain的结果,extra列会出现:usingindex.10、【推荐】利用延迟关联或者子查询优化超多分页场景。说明:MySQL并不是跳过OffSet行,而是取OffSet+N行,然后返回放弃前OffSet行,返回N行,那当OffSet特别大的时候,效率就非常的低下,要么控制返回的总页数,要么对超过特定闯值的页数进行SQL改写。尽量在关联前缩减入口表数据量能够减小运算状,提高查询效率。正例:先快速定位需要获取的id段,然后

12、再关联:SELECTa.*FROMla,(selectidfrom表1where条件LIMIT100000,20)bwherea.id=b.id11、【推荐】SQL性能优化的目标:至少要达到Qnge级别,要求是ref级别,如果可以是consts最好。说明:达梦中索引概念有所区别,不分级别,但原理是一致的,等值最理想,其次是范围。Dconsts单表中最多只有一个匹配行(主键或者唯一索引),在优化阶段即可读取到数据.2) ref指的是使用普通的索引(normalindex)。3) range对索引进行范围检索。反例:explain表的结果,type=index,索引物理文件全扫描,速度非常慢,这个

13、index级别比较Qnge还低,与全表扫描是小巫见大巫。12、【推荐】当数据量比较大时,可以考虑建立相应的索引来提高查询速度。索引类型的选择要根据数据分布及应用来决定。13、【推荐】控制一个表的索引数量,尽量使得一个表的索引数量小于五个。14、【推荐】索引列的选择,在检索条件包含多列的情况下,创建联合主键或者联合索引,把最常用于检索条件的列放在最前端,其他的列排在后面。15、【推荐】需要定期重建索引。说明:虽然使用索引能得到查询效率的提高,但是我们也必须注意到它的代价。索引需要空间来存储,也需要定期维护。16、【参考】创建索引时避免有如下极端误解:D误认为一个查询就需要建一个索引。2)误认为索

14、引会消耗空间、严重拖慢更新和新增速度。3)误认为唯一索引一律需要在应用层通过“先查后插”方式解决。三、SQL规约1、【强制】不要使用COUnt(列名)或CoUnt(常量)来替代count(*),COUnt(*)是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。说明:COUnt(*)会统计值为NULL的行,而COUnt(列名)不会统计此列为NULL值的行。2、【强制】count(distinctcol)计算该列除NULL之外的不重复行数,注意count(distinctcoll,col2)如果其中一列全为NULL,那么即使另一列有不同的值,也返回为Oo3、【强制】当

15、某一列的值全是NULL时,count(col)的返回结果为0,但SUm(COI)的返回结果为NULL,因此使用SumO时需注意NPE问题。正例:可以使用如下方式来避免SUm的NPE问题:SELECTIF(ISNULL(SUM(g)ASUM(g)FROMtable;4、【强制】使用ISNULL()来判断是否为NULL值。注意:NULL与任何值的直接比较都为NULLo说明:NULLNULL的返回结果是NULL,而不是false。NULL=NULL的返回结果是NULL,而不是true。NULLol的返回结果是NULL,而不是true。5、【强制】在代码中写分页查询逻辑时,若CoUnt为。应直接返回,

16、避免执行后面的分页语句。6、【强制】不得使用外键与级联,一切外键概念必须在应用层解决。说明:(概念解释)学生表中的studentid是主键,那么成绩表中的studentid则为外键如果更新学生表中的StUdentid,同时触发成绩表中的StUdemid更新,则为级联更新外键与级联更新适用于单机低并发,不适合分布式、高并发集群,级联更新是强阻塞,存在数据库更新风暴的风险:外键影响数据库的插入速度。7、【强制】禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。8、【强制】数据订正时,删除和修改记录时,要先select,避免出现误删除,确认无误才能执行更新语句。9、【推荐】in操作能避免则避免

17、,若实在避免不了,需要仔细评估in后边的集合元素数量,控制在100O个之内。10、【参考】如果有全球化需要,所有的字符存储与表示,均以utf-8编码,那么字符计数方法注意:说明:SELECTLENGTH(轻松工作,);返回为12SELECTCHARACTERLENGTH(“轻松工作”);返为4如果要使用表情,那么使用utfmb4来进行存储,注意它与utf-8编码的区别11、【参考】Truncatetable比delete速度快,且使用的系统和事务日志资源少,但TRUNCATE无事务且不触发trigger,有可能造成事故,故不建议在开发代码中使用此语句。说明:Truncatetable在功能上与

18、不带where子句的DELETE语句相同。12、【强制】条件判断的参数类型要与字段的数据类型一致,避免类型隐式转换导致不走索引。13、【参考】如果某个字段值的分布不均匀,例如type=1有1行,type=2只有一行,那么不建议使用绑定变量方式进行传参,会由于无法准确获取统计信息导致不走索引,这种情况写死参数执行效率更高。14、【强制】Where条件中禁止对字段进行诸如to_char、to_date的函数处理,会导致无法利用索引,所有的转换工作可以放到参数中处理。四、ORM规约1、【强制】在表查询中,一律不要使用*作为查询的字段列表,需要哪些字段必须明确写明。说明:1)增加查询分析器解析成本。2

19、)增减字段容易与resultMap配置不一致。2、【强制】POJO类的BooIean属性不能加is,而数据库字段必须加is,要求在resultMap中进行字段与属性之间的映射。说明:参见定义POJO类以及数据库字段定义规定,在resultMap中增加映射,是必须的。在MyBatiSGeneratOr生成的代码中,需要进行适当的修改。3、【强制】不要用resultdass当返回参数,即使所有类属性名与数据库字段一一对应,也需要定义:反过来,每一个表也必然有一个与之对应。说明:配置映射关系,使字段与D。类解耦,方便维护。4、【强制】xml配置中参数注意:#,#param#不要使用S此种方式容易出现

20、SQL注入。5、【强制】iBATIS自带的queryForList(StringStatementNamejntstart,intsize)不推荐使用。说明:其实现方式是在数据库取到StatementName对应的SOL语句的所有记录,再通过SUbLiSt取Start,size的子集合,线上因为这个原因曾经出现过OoM。正例:在SqlmaP.xml中入#start#z#size#M叩(String,Objectmap=newHashMapStringzObject():map.put(startzstart):map.put(sizezsize):6、【强制】不允许直接拿HaShM叩与HaSh

21、tabIe作为查询结果集的输出。7、【推荐】不要写一个大而全的数据更新接口,传入为POJc)类,不管是不是自己的目标更新字段,都进行UPdatetabIeSetd=ValUel,c2=value2,c3=value3;这是不对的。执行SQL时,尽量不要更新无改动的字段,一是易出错;二是效率低;三是增加binlog存储.8、【参考】TranSaCtional事务不要滥用。事务会影响数据库的QPS,另外使用事务的地方需要考虑各方面的回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修正等9、【参考】isEqual中的ComPareValUe是与属性值对比的常量,一般是数字,表示相等时带上此条件;

22、表示不为空且不为null时执行;表示不为null值时执行。五、数据备份、恢复、转储规约1、【推荐】数据备份是将数据存储到硬盘或磁带库上,以便在数据库出现故隙恢复使用。说明:数据备份有2种,一种是针对数据库的备份;另一种是针对每个基表的备份。参考方案:1)对于生产环境的数据库每周进行一次全备份,每天进行一次增量备份;对于历史数据环境的数据库需要每月进行一次全备份,每周进行一次增量备份。2)对于生产环境重要数据每天做一次逻辑备份,备份基表数据。保留一星期数据。2、【推荐】数据转储是为了提高生产环境的运行效率,将不再参与当前业务运行的数据作为历史数据,转存到其他表或者历史数据库中。说明:数据转储目的

23、:一是保留比生产环境更长时间的数据,以便生产环境为了提高效率来删除一些历史数据;二是为数据仓库系统或企业级大数据平台提供基础业务数据。数据转储的方式依据具体业务或数据需求频率分为T+0和T+1两种模式。其中T+0的模式为实时转储,T+1模式为非实时转储。下面分别列举两种转储模式的方案:T+1模式(举例说明):采用定制开发的批处理服务进行数据转储复制。每天凌晨(尽量选择闲时)定时启动批处理调度任务。以记录最后修改时间为转储条件,每天从生产环境用Export导出当天变化记录,再用ImPOrt导入到历史数据库中。转储条件:转储表标识分为:1-需要从生产环境向历史数据库导入,0、$-不需从生产环境向历

24、史数据库导入,如报表、临时表等。导入历史表类型分为:1-替换方式导入,如字典,2-修改方式导入,如订单信息、物料信息等3-插入方式导入,如生产实绩、工程数据等0、$-不导入T+0模式(举例说明):采用专业的CDC软件进行数据转储复制。按业务系统数据库和转储系统(如大数据平台)数据库中安装CDC实例,并配置转储的范围和模式,启动CDC软件,数据实时从业务系统转储复制到转储系统。六、SQL编写规约1、【强制】每个应用表在创建时候,禁止使用默认的表空间/库。2、【强制】代码编制时,不允许在基表前加模式(SChema)。3、【强制】删除记录时,应留有删除痕迹(删除记录放在历史表中,或作删除标识)。4、

25、【强制】不可以使用数据库触发器。5、【强制】不可以使用数据库存储过程。6、【强制】不可以使用数据库视图。7、【强制】对基表中任何一个字段的修改,都要同时修改最后修改人和最后修改时间。8、【强制】SQL中的字符类型数据应该统一使用单引号。特别对纯数字的字符串,必须用单引号,否则会导致内部转换而引起性能问题或索引失效问题。利用TRIM(),LoWERo等函数格式化匹配条件。说明:如果出现隐式转换会导致无法走索引。9、【强制】INSERT语句必须显式的指明字段名称,禁止使用INSERTINTOT_XXXVALES(X)的形式。说明:在表结构变更后程序易出现BUG。10、【强制】禁止在WHERE条件的

26、属性上使用函数或者表达式(禁止WHERE子句的左列上使用函数或者表达式)。说明:在WHERE语句中数据库函数、计算表达式等,要放在等号右边。否则会使所比较的字段上的索引失效,导致全表扫描。11、【强制】SQL语句包含多表连接时,使用表的别名来引用列。12、【强制】避免使用负向查询。WHERE条件中的索引列应避免使用、not、isnulkisnotnull这些常会使索引失效。13、【强制】禁止使用属性隐式转换,会导致索引失效。14、【强制】禁止WHERE使用口=1,这种表达式作为部分条件。15、【强制】SQL中禁止出现不带任何条件的DELETE和UPDATE语句16、【强制】拆分复杂SQL语句为

27、多个小SQL语句,避免长事务。长事务容易造成死锁。17、【强制】编写SQL语句时全部使用大写形式。18、【强制】关键字另起一行,11SELECT.FROM、WHERE.GROUPBY、ORDERBY等。关键字右对齐。19、【强制】SQL语句内的算术运算符、逻辑运算符(AND、OR、NOT)、比较运算符(=、=、=、BETWEENAND)IN、IJKE等运算符前后都应加一空格。20、【强制】SELECT后每个字段单独占一行;FROM后面的每一个表单独占一行;WHERE后面的每个条件单独占一行。语句另起一行时,以保留字或者连接符开始,连接符右对齐。21、【强制】UPDATESET子句内容每一项单独

28、占一行,无缩进。22、【强制】INSERT子句内容每个表字段单独占一行,无缩进;VALUES每一项单独占一行,无缩进。23、【强制】逗号后面加空格。24、【强制】SQL语句中不允许有空行。25、【强制】必须在每个事务的开头进行注释,说明该事务的功能。并且当事务功能发生变化时,必须修改注释。必须对不易理解的SQL语句、分支条件表达式、计算、常量、变量加注释。26、【强制】百万级大表要做测试,要使用性能分析技术,测试以后记录并完善SQL语句。27、【推荐】索引字段中,尽量避免使用NULL值。28、【推荐】查询列和排序列与索引列次序保持一致。29、【推荐】尽量避免相同语句由于书写格式的不同,而导致多

29、次语法分析(减少数据库的硬分析),如可使用TOAD的格式化工具对SQL语句进行格式化处理说明:标准的SQL语法可以用相同的格式化工具进行处理。30、【强制】禁止在程序的循环中使用查询SQL语句。31、【推荐】对于非常复杂的SQL(特别是有多层嵌套,带子句或相关查询的),应该先考虑是否设计不当引起的。对于一些复杂SQL可以考虑使用程序实现。32、【推荐】尽量避免使用IN、OR子句,常会使索引失效。可以考虑使用EXISTS.NOTEXISTS替代IN、NOTIN(大部份情况下EXlSTS、NOTEXiSTS的性能都比IN、NOTIN好N33、【推荐】用WHERE子句替换HAVING子句。说明:避免

30、使用HAVING子句,HAVING只会在检索出所有记录之后才对结果集进行过滤。这个处理需要排序,总计等操作。尽量通过WHERE子句来限制记录的数目,达到减少这方面开销的目的。HAVING中的条件一般用于对一些集合函数的比较,如COUNT()等等。除此而外,限制条件必须写在WHERE子句中。34、【推荐】尽量避免使用ORDERBY和GROUPBY排序操作,因为大量的排序操作影响系统性能。如必须使用排序操作,尽量建立在有索引的列上。35、【推荐】使用UNION的时候如果用户没有特殊要求去除重复数据,建议尽量用UNIONALL替代。说明:当SQL语句需要UNION两个查询结果集合时,这两个结果集合会

31、以UNION-ALL的方式被合并,然后在输出最终结果前进行排序。如果用UNlONALL替代UNloN,这样排序就不是必要了。效率就会因此得到提高。需要注意的是,Unionall将重复输出两个结果集合中相同记录。因此要从业务需求分析使用UNIoNALL的可行性。SQL语句格式规范样例见附录Ao附录A:SQL语句格式样例/*这只是一个样例,不具有实际意义*/SELECTA.USERNAME,-用户名B.Datchcode,-产品批号c.workflownamej-工作流程名称C0UNT(*)WORKLOADFROMT_SYSTEMUSERINFOA,T_GENTWORKFLOWC,T_BATCHD

32、,T_COMPANYINFOEWHEREA.SYSTEMUSERID=B.USERIDANDB.FROMWKFID=C.GENWORKFLOWIDANDB.BATCHID=D.BATCHIDandB.Companyid=panyidGROUPBYA.USERNAME,C.WORKFLOWNAME,D.BATCHCODE*这只是一个样例,不具有实际意义*/UPDATET_STUDENTSETAGE=4,SEX=MALEUHERENAME=,ZHIXUAN,*这只是一个样例,不具有实际意义*/INSERTINTOT_STUDENT(NAME,AGE,SEX)VALUES(,ZHIXUAN,4,MA

33、LE),(,ZHIHAN,5,MAN,)附录B达梦数据库关键字和保留字以下不带*号的为关键字,带*号的为系统保留字。DM还将保留字进一步划分为SQL保留字、DMSQL程序保留字、模式保留字、变量保留字和别名保留字。对于关键字和保留字的详细信息请查询系统视图V$RESERVED-WORDS。注意:关键字RoWID、TRXID、VERSIONS-STARniME.VERSlONS_ENDTIME、VERSlONS_S1ARTTRXID、VERSlONS_ENDTRXID和VERSI0NS_0PERATI0N不能作为表的列名,即使加上双引号也不行。AABORT、*ABSOLUTE.*ABSTRACT

34、.ACCESSEDACCOUNT.ACROSSACTION.*ADD.*ADMIN.ADVANCED.AFTER.AGGREGATE.*ALL.ALLOW_DATETIME.ALLOWJP*ALTER、ANALYZE.*AND、*ANY、APR、ARCHIVE、ARCHIVEDIR、ARCHIVELOG、ARCHIVESTYLE*ARRAYARRAYLEN*AS.*ASC、ASCIIASENSITIVE.*ASSIGN.ASYNCHRONOUSAT、ATTACH、*AUDIT、AUG、AUTHID、*AUTHORIZATION、AUTO、AUTOEXTEND、AUToNoMoUsjransac

35、tion、avgBBACKED、BACKUP、BACKUPDIR、BACKUPINF0、BACKUPSET、BADFlLE、BAKFlLE、BASE、BEFoRE、*BEGIN*BETWEEN、*BIGDATEDIFFBIGINT*BINARY、BIT、BITMAP.BLOB、BLOCK、*BOOL、BOOLEAN.*BOTH.BRANCH、BREADTH、*BREAK、*BSTRING、BTREE、BUFFERBUILD、BULK、*BY、BYDAY、BYHOUR、BYMINUTE.BYMONTH、BYMONTHDAY、BYSECOND*BYTEBYWEEKN0、BYYEARDAYCCACH

36、ECALCULATE.*CALLCASCADE.CASCADED*CASE,*CAST,CATALOG.*CATCH.CHAIN、*CHARCHARACTERCHARACTERISTICS*CHECKCIPHER.*CLASSCLOB、CLOSE.cluster.*Clusterbtr.collate.*collation.*collect*column,colmns*COMMENT.*COMMIT.CoMMlTTED、*CoMMlTWoRK、COMPILE.COMPLETE、COMPRESS.COMPRESSEDCONDITIONAL.*CONNECT、CoNNECT_BYSCYCLE、Co

37、NNECT_BY_ISLEAF、*CoNNECT_BY_ROOT、CONNECT_lDLEjrlME、CONNECTJrlME、*CONST、CONSTANT.*CONSTRAINT.CONSTRAINTS.CONSTRUCTORSCONTAINS.*CONTEXT.*CoNTINUE、*CONVERT.COPY*CORRESPONDING、CoRRUPT、CoUNT、CoUNTER、CPU_PER_CALL、CPU_PER_SESSION、*CREATE.*CROSS.*CRYPT。、CTLFiLE、*CUBE.CUMULATIVE.*CURRENT、CURRENT_SCHEMA、CURRE

38、NT_USER、*CURSOR.CYCLEDDAILY.DANGLING.DATA.DATABASE.DATAFILE.DATE、*DATEADD、*DATEDIFF、*DArEPART、DATETIME.DAY、DBFILE、DDL、DDL_CLONE、DEBUG、DEC、*DECIMAL、*DECLARE*DECODE、DEFAULT.DEFERRABLE,DEFERRED、DEFINER*DELETE.DELETlNG、DELIMITEDDELTA.DEMAND、DENSE_RANK、DEPTH.DEREF、*DESC、DETACH、DETERMINISTICDEVICE、DIAGNOS

39、TICSDICTIONARY、DIRECTORY*DISABLE.DISCONNECT.*DISKSPACE*DISTINCT、*DISTRIBUTED*DO、*DOMAIN.*DOUBLE.DOWN、*DROP、DUMPEEACH、*ELSE、*ELSEIF*ELSlF、EMPTY、*ENABLE、ENCRYPT.ENCRYPTION*END、*EQU、ERROR、ERRORS、ESCAPE、EVENTINFO、EVENTSEXCEPT、EXCEPTION.EXCEPTIONSExceptionjnit.*exchange,exclude,excluding,exclusive.*exec、

40、*execute*EXISTS、*EXIT、*EXPLAIN.EXTENDS、*EXTERN.EXTERNAL.EXTERNALLY.*EXTRACTFFAlLED_LOGIN_ATTEMPTS、FAST、FEB、*FETCH、FIELDS、FILE、FILEGRoUP、FILESIZE.FILLFACTOR.*FINAL.*FINALLY、*FIRST.*FLOAT.FOLLOWING*FOR、FoRALL、FORCE.*FOREIGN、FORMAT、FREQ、FREQUENCE、FRI、*FROM、*FULL、*FULLY*FUNCTIONG*GET.GLOBAL.GLOBALLY、*GO

41、TO*GRANT、*GROUP、*GROUPINGHHASH、HASHPARTMAP.*HAVING、HEXToRAW、HOLD、HOUR、HOURLY.HUGEIIDENTIFIED*IDENTITY.IDENTITYINSERT.IF、IMAGE.*IMMEDIATE.*IN.INCLUDE.INCLUDING、INCREASE.INCREMENT.*INDEX.INDEXES、INDICES、INITIAL.INITIALIZED.INITIALLY.*INLINE.*INNER、INNERlD、INPUT、INSENSITIVE.*INSERT.INSERTINGINSTANCE.IN

42、S7ANTIABLE.INSTEAD.*INTsINTEGER、INTENT.INTERSECT、*INTERVAL、*INT0、INVISIBLE、*IS、ISOLATIONJJAN*JAVA.JOB、*JOIN、JSC)N、3L、JUNK*KEEP、KEY、KEYSLLABEL.LARGE、LAST、LAX、*LEADING.*LEFT、LESS、LEVEL.LEXER、*LIKE、LIMIT.LINK*LIST.*LNNVLLOB、LOCAL.LOCAL_OBJECT、LOCALLY.LOCATION、LOCK、LOCKEDLOG、LOGFILE.LOGGING.*LOGIN.LOGOF

43、FLOGON.LoGoUT、LoNG、LONGVARBINARY.LONGVARCHAR.*LOOPASNMMANUAL.MAP、MAPPED、MAR、MATCH、MATCHED.MATERIALIZEDMAX、MAXPIECESIZE.MAXSIZEMAXVALUE.MAX_RUN_DURATION、MAY、*MEMBER.MEMORY.MEM_SPACE、MERGE.MIN、MINEXTENTS.*MINUS、MINUTE.MINUTELMlNVALUE、MIRROR.MOD、MODE、MODIFY.MON、MONEY、MoNnORING、MoNTH、MoNTHLY、MOUNT、MOVEM

44、ENT、*MULTISETNNATIONAL、*NATURAL、NCHAR、NCHARACTER、NEVER*NEW.*NEXT、NO、NoARCHIVELOG、NoAUDIT、NOBRANCH.NOCACHE、*NOCOPY、*NOCYCLE、NODE、NoLOGGING、NOMAXVALUE、NOMINVALUE、NOMONITORINGNONE、NOORDER、NORMAL、NOROWDEPENDENCIES.NOSORT、*NOT、NOT_ALLOW_DATETIME.NOT_ALLOW_IPNOV、NOWAIT.*NULL、NULLS,NMBERNUMERICO*OBJECTOCT、

45、*0F、OFF、OFFLINE.OFFSET.OLD、*0N、ONCE、ONLINE、ONLY、OPEN、OPTIMIZE.OPTION.*OR、*ORDER、*OUT、OUTER.*OVER、OVERLAPS*OVERLAY.*OVERRIDE.OVERRIDINGPPACKAGE、PAD、PAGE、PARALLEL、PARALLEL,ENABLE、PARMS、PARTIAL、*PARTITION.PARTITIONSPASSING、PASSWORD_GRACE_TIME、PASSWORD_LIFE_TIME、PASSWORD_LOCK_TIME、PASSWORD_POLICY、PASSWO

46、RD_REUSE_MAX、PASSWoRD_REUSE_TlME、PATH、*PENDANT*PERCENT.PIPE、PIPELINED.PIVOT、PLACINGPLSNTEGER、PRAGMAPRECEDING.PRECISION.PRESERVE.PRETTY.*PRIMARY.*PRINT、*PRIOR、*PRIVATE.PRIVILEGE.*PRIVILEGES.*PROCEDUREPRoFlLE、*PROTECTED、*PUBLIC、PURGEQQUERY.REWRITENTEGRlTYR*RAISE.RANDOMLY、RANGE、RAWToHEX、READ、READONLY、R

47、EAD_PER_CALL、READ_PER_SESSION、REAL、REBUILD.*RECORD.RECORDS*REF、*REFERENCE.*REFERENCES.*REFERENCINGREFRESHRELATED*RELATIVE.RENAME.*REPEAT.REPEATABLE.REPLACE.REPLAY.*REPLICATE.RESIZE.RESTORERESTRICTRESULT.RESULr_CACHE、*RETURN*RETURNING.*REVERSE.*REVOKE、*RIGHT、ROLE、*ROLLBACK.ROLLFILE、*ROLLUP、ROOT、*ROW、

48、ROWCOUNT.ROWDEPENDENCIESRoWlD、*ROWNUM.*ROWS、RULESSALT.SAMPLE、SAT、SAVE、*SAVEPOINT.*SBYTE、*SCHEMA、SCOPE.SCROLL、*SEALED、SEARCH.SECOND、SECONDLY.*SECTIONSEED、*SELECT、SELF、SENSITIVE.SEP、SEQUENCE.SERERR、SERIALIZABLE、SERVER、SESSIoN、SESSION_PER_USER、*SET、*SETS、SHARE、*SHORT、SHUTDOWN,SIBLINGS、SIMPLE.SINCE.SIZE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号