我写的:
CREATE TABLE Person ( name CHAR(10), ssn INTEGER);
并将其保存到文件“ a.sql”。
如果我随后通过在SQL * Plus命令提示符下键入“ @a”来运行它,它将告诉我以“ ssn”开头的行不会被识别为命令,因此将被忽略。
据我所知,如果sqlplus在一行中遇到多个换行符,它似乎会终止命令。这是正确的说法吗?如果是这样,有谁知道这是否有必要/为什么选择这样做?
我不知道为什么,但是一个完全空白的行会终止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语句。
SQLBL [ANKLINES] {ON | OFF}
控制SQL * Plus是否在SQL命令或脚本中允许空行。ON将空行和换行解释为SQL命令或脚本的一部分。OFF,默认值,不允许在SQL命令或脚本或脚本中出现空行或换行。
输入BLOCKTERMINATOR以停止SQL命令输入,而无需运行SQL命令。输入SQLTERMINATOR字符以停止SQL命令输入并运行SQL语句。