【发布时间】:2014-05-22 00:22:09
【问题描述】:
我是使用 SqlPlus 的新手,但对使用 SQL 并不陌生,在我的编辑器中编写此代码并尝试运行我编写的脚本后,我收到以下错误。所有这些似乎都是有效的,并且适用于 sql fiddle...我不确定问题是什么。有任何想法吗??我创建的文件似乎都不起作用....
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.
【问题讨论】:
-
在 unix 中尝试 dos2unix sales.sql sales.sq .. 并执行 sql 文件..
-
实际上,伙计,我只是对错误进行了更多的谷歌搜索,似乎 sqlplus 不喜欢在行之间添加空格,所以这就是问题...尽管感谢您的帮助
-
这是一个有用的问题。这看起来像一个糟糕的问题,因为 Oracle 错误消息非常具有误导性。但这正是人们会一次又一次地遇到的那种事情,答案对他们会有所帮助。
-
就我而言,UTF-8 BOM(字节顺序标记)字符对是罪魁祸首。当您以 UTF-8 格式保存文件时,某些编辑器(主要在 Windows 上)会自动添加这些字节。其中一些为您提供了不保存这些字节的选项,这通常是最好的选择。要删除这些字节,请尝试使用 Notepad++ 之类的编辑器,它可以让您选择不保存这些字符。我不得不将sql文件的所有内容复制到新文件中,它创建了没有BOM的文件并且错误消失了。
-
可以重新提出问题吗?这既可重现又非常有用。