我是使用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.
答案 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++ 之类的编辑器,它可以让您选择不保存这些字符。