Mat*_*ehm 7 sql oracle whitespace language-design sqlplus
我写:
并将其保存到文件"a.sql"(冒号表示行的开头,不在实际代码中.)
如果我然后在SQL*Plus命令提示符下键入"@a"来运行它,它将告诉我以"ssn"开头的行不被识别为命令,并被忽略.
从我收集的内容来看,如果sqlplus连续遇到多个换行符,它似乎会终止命令.这是一个准确的陈述吗?如果是这样,有人知道这是否必要/为什么选择这样做?
Thi*_*ilo 16
我不知道原因,但是一个完全空白的行终止了SQL*Plus中的命令.
从SQL*Plus文档引用:
结束SQL命令:您可以通过以下三种方式之一结束SQL命令:
您还可以使用SET SQLBLANKLINES更改空白行的处理方式
SQLBL [ANKLINES] {ON | OFF}
控制SQL*Plus是否允许SQL命令或脚本中的空行.ON将空行和新行解释为SQL命令或脚本的一部分.OFF(默认值)不允许SQL命令或脚本或脚本中出现空行或换行.
输入BLOCKTERMINATOR以停止SQL命令输入而不运行SQL命令.输入SQLTERMINATOR字符以停止SQL命令输入并运行SQL语句.
默认情况下,SQLPlus会在输入空行时终止(但不执行)语句.它一直都是这样做的.在屏幕编辑器和查询工具之前的几天,它似乎是一个好主意.
您可以使用更改默认行为
设置SQLBLANKLINES
在这种情况下,您必须输入一个只有句号的行来终止(但不执行)一个语句.