问题描述
我不知道为什么,但是一个完全空白的行会终止sql * Plus中的命令。
引用SQL *Plus文档:
:您可以通过以下三种方式之一结束sql命令:
- 用分号(;)
- 单独在一行上加上斜杠(/)
- 用空行
您还可以更改使用SET sqlBLANKLInes处理空白行的方式
控制sql * Plus是否在sql命令或脚本中允许空行。ON将空行和换行解释为sql命令或脚本的一部分。OFF,默认值,不允许在sql命令或脚本或脚本中出现空行或换行。
输入BLOCKTERMINATOR以停止sql命令输入,而无需运行sql命令。输入sqlTERMINATOR字符以停止sql命令输入并运行sql语句。
解决方法
我写的:
CREATE TABLE Person (
name CHAR(10),ssn INTEGER);
并将其保存到文件“ a.sql”。
如果我随后通过在SQL * Plus命令提示符下键入“ @a”来运行它,它将告诉我以“ ssn”开头的行不会被识别为命令,因此将被忽略。
据我所知,如果sqlplus在一行中遇到多个换行符,它似乎会终止命令。这是正确的说法吗?如果是这样,有谁知道这是否有必要/为什么选择这样做?