SqlPlus SP2-0734:错误

时间:2014-04-09 02:28:56

标签: sql oracle unix sqlplus

我是使用SqlPlus的新手,但对使用SQL并不陌生,我在编辑器中编写并尝试运行我编写的脚本后出现以下错误。所有这些看起来都是有效的,并且适用于sql小提琴...我不确定是什么问题。有任何想法吗??我创建的文件似乎都没有工作....

SQL> start sales.sq;

包含

1  create table salesreps
2  (empl_num number(3,0) primary key,
3  name varchar2(15) not null,
4  age number(3,0),
5  rep_office number(2,0),
6  title varchar2(10),
7  hire_date varchar2(10) not null,
8  manager number(3,0),
9  quota number(10,2),
10 sales number(10,2) not null);

生成以下错误

SP2-0734: unknown command beginning "name varch..." - rest of line ignored.
SP2-0734: unknown command beginning "age number..." - rest of line ignored.
SP2-0734: unknown command beginning "rep_office..." - rest of line ignored.
SP2-0734: unknown command beginning "title varc..." - rest of line ignored.
SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.
SP2-0734: unknown command beginning "hire_date ..." - rest of line ignored.
SP2-0734: unknown command beginning "manager nu..." - rest of line ignored.
SP2-0734: unknown command beginning "quota numb..." - rest of line ignored.
SP2-0734: unknown command beginning "sales numb..." - rest of line ignored.
SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.

2 个答案:

答案 0 :(得分:28)

默认情况下,SQL * Plus不像空白行。但是,我们可以轻松配置我们的SQL * Plus环境以忽略它们:

SQL>  set sqlblanklines on

我们也可以将设置放在我们的glogin.sql文件中(假设我们允许编辑它,但情况并非如此)。

请注意,此参数在客户端的古老版本中不起作用。

答案 1 :(得分:1)

如评论中所述,此问题可能是由 UTF-8 BOM(字节顺序标记)编码引起的。可以通过将文件内容复制到 Notepad++ 来轻松修复。

在我们的示例中,在 Azure DevOps 中编辑 sql 文件时,编码从 UTF-8 更改为 UTF-8 BOM。

说明: 某些编辑器会在您以 UTF-8 格式保存文件时自动添加这些字节。其中一些为您提供不保存这些字节的选项,这通常是最好的选择。要删除这些字节,请尝试使用 Notepad++ 之类的编辑器,它可以让您选择不保存这些字符。