【转】如何读懂Oracle文档中的语法图

转自:http://blog.itpub.net/22990797/viewspace-750157/

Oracle文档中用到了两种表达语法的方法,语法图和BNF。

BNF, Backus-Naur Form,中文是巴科斯范式:,它是由约翰·巴科斯(John Backus)和彼得·诺尔(Peter Naur)引入的用来描述计算机语言语法的符号集。

首先来看语法图。读语法图,要从左到右,顺着箭头读。

不同形状的含义:

  • 长方形中的大写词语,命令。
  • 椭圆形中的小写词语,参数。
  • 圆形中,标点符号、操作符、分隔符、终止符。

如果图有几条路径,可以随便选择一条,每条都是正确的语法。

  • 主路径(Main Path):箭头指向的一条直线。
  • 必选关键词:可以是只有一个图形,说明必选这一个;也可以是垂直排列的几个图形,说明必选其一。
  • 可选关键词:在主路径之外就是可选的。
  • 语法循环(Sytax Loop):对一种语法循环使用。
  • 标示符规则:标示符不能超过30字符,必须以字母开头。标示符不区分大小写,除非在双引号内。

每个语法图都有一个指向同义的BNF表达式的链接。

BNF表达式用到的符号含义:

  • [],可选项
  • {},必选其一
  • |,分隔不同选项
  • …,可重复语法
  • 分隔符,不同之前四个其他分隔符要照其原样输入
  • 粗体,粗体的是关键字,必须照其原样输入;非大写字符,是占位符,不需原样输入,得用其他值代替。

本文是SQL Language Reference的附录A How to Read Syntax Diagrams 的读书笔记,是直接从英文翻译过来的,可能只有我自己看的懂。但读完这一节后,读懂语法图对我来说再没有难度了。

https://docs.oracle.com/cd/E24693_01/server.11203/e17118/ap_syntx.htm

时间: 2024-10-15 21:45:44

【转】如何读懂Oracle文档中的语法图的相关文章

java使用正则从爬虫爬的txt文档中提取QQ邮箱

我的需求是从一堆文档中提取出qq邮箱,写了这篇帖子,希望能帮助和我有一样需求的人,谢谢!...... import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.regex.Matcher; import java.util.regex.Pattern; public class GetEmail { public static void getEmail() {

用python从符合一定格式的txt文档中逐行读取数据并按一定规则写入excel(openpyxl支持Excel 2007 .xlsx格式)

前几天接到一个任务,从gerrit上通过ssh命令获取一些commit相关的数据到文本文档中,随后将这些数据存入Excel中.数据格式如下图所示 观察上图可知,存在文本文档中的数据符合一定的格式,通过python读取.正则表达式处理并写入Excel文档将大大减少人工处理的工作量. 1. 从gerrit获取原始信息,存入文本文档: $ssh –p 29418 <your-account>@192.168.1.16 gerrit query status:merged since:<date

需求文档中容易出的错误

需求文档中容易出现的主要问题: 1.需求缺失 2. 需求不明确   本周开会的时候,PMs分享了三个案例,其中有两个谈到需求不明的情况.第三个项目是Agile实施项目,不存在需求不明的情况.其原因,我猜测由于甲方主导的Agile的项目,因此,需求方面主要掌握在甲方,甲方管理更好一些. 总的来说,需求不明几乎是所有项目的通病.下面的内容有点飘,叔思维一直是这样,将就了. 需求的不明晰,要区分是需求范围不清晰还是需求内容不清晰.因为这两者有本质的不同. 那么何为范围不清晰呢?我举一个典型的例子,有公

Matlab中的fread函数高级使用方法及其帮助文档中容易引起歧义的地方

参考资料:http://cn.mathworks.com/help/matlab/ref/fread.html 注意:参考资料针对的Matlab版本号R2015a,我使用的是R2013b. Matlab帮助文件中给出了这几种用法 A = fread(fileID) A = fread(fileID,sizeA) A = fread(fileID,sizeA,precision) A = fread(fileID,sizeA,precision,skip) A = fread(fileID,siz

[daily][troubleshoot][archlinux][wps][font] wps文档中的图内容无法显示中文

序 用linux作为工作生产环境的几个需要解决的问题之一是:文档协作,即如何兼容Micro$oft Office格式的文档. 我一般的工作方式是:在linux下创建一个win7的虚拟机,安装常用的windows软件,office,QQ,teamview等. 写文档的时候,我会进入win虚拟机,使用office软件进行编写,保证其他大多数使用windows的同事可以正常打开我的文档. 读文档的时候,我在linux里使用wps.先后用过openoffice, libreoffice,wps.wps与

用Aspose.Words for .NET动态生成word文档中的数据表格

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

HTML文档中应用css样式的方法总结

在HTML文档中应用css样式大致有三种方法:1.link标签链接外部样式表:2.使用style元素包含样式表:3.使用style属性,即内联样式 一.link标签链接外部样式表 先看一条较为标准的link标记语句: <link rel="stylesheet" type="text/css" href="main.css" media="all" /> link标记必须放在head元素中,且不能放在其他元素(如t

html文档中的DOCTYPE标签

在写html页面的时候我们一般都会在首行添加〈!DOCTYPE〉的标签,有些编辑器会自动帮我们添加,今天讲讲这个〈!DOCTYPE〉标签的作用. HTML与XHTML 在W3C组织还么颁发html标准之前,开发网页的时候大家都没有加这个标签,那个时候.html页面的开发也比较混乱,直到1999年的时候,HTML 4.01成为了推荐标准,那时候起大多数人都使用这个版本.又大概在2000年的时候,W3C组织又颁发了基于HTML4.01的XML版本,并命名为XHTML1.0. 两者其实主要的差别是XH

将sytyle提出到领一个文档中

在当前页面目录下新建一个文档(css) 在css文档中新建命名为"与网页文件同名.css" 将<head></head>中,<style></style>中的内容粘贴到新css文件中将style标签删掉 在网页文件原位置添加"<link rel="stylesheet" type="text/css" href="./css/index.css">"