1

私はSQLが初めてで、少し学ぶために基本的なempテーブルを作成しようとしていました. クエリを作成して実行しようとすると、「ORA-00907: 右括弧がありません」というメッセージが表示され続けます。ただし、機能ごとに 1 対のブレースを含めたように感じます。誰かが問題を理解するのを手伝ってくれませんか?可能であれば、私が間違っている場合は修正できますか??

以下はサンプルです

SQL> create table emp
  2  (emp id number(4),
  3  first name varchar2(25),
  4  last name varchar2(25),
  5  phone number number (10),
  6  department id number (4),
  7  job id number (4),
  8  salary number (6,2),
  9  commission_pct number (4,2),
 10  manager id number (4);
(emp id number (4),
        *
ERROR at line 2:
ORA-00907: missing right parenthesis
4

3 に答える 3

6

2 行目に開始括弧があります。

(emp id number(4),
^

10 行目で閉じられていません。

manager id number (4);
                     ^missing

また、引用符を付けずに列名にスペースを含めることはできません。_どこでも引用する必要がないように、スペースを に置き換えることをお勧めします。

SQL> create table emp
  2  (emp_id number(4),
  3  first_name varchar2(25),
  4  last_name varchar2(25),
  5  phone_number number (10),
  6  department_id number (4),
  7  job_id number (4),
  8  salary number (6,2),
  9  commission_pct number (4,2),
 10  manager_id number (4));

SQLfiddle テスト.

于 2012-10-21T16:19:21.803 に答える
2

ここで 3 つの間違いを見つけました。

  1. numericSQLでは、数値の代わりに使用する必要があります。
  2. フィールドにスペースを入れることはできません。
  3. クエリの終わりの中かっこを閉じる必要があります。

コード:

 create table emp
       (emp_id numeric(4),
        first_name varchar(25),
        lastname varchar(25),
        phone_number numeric (10),
        department_id numeric (4),
        job_id numeric (4),
        salary numeric (6,2),
        commission_pct numeric (4,2),
        manager_id numeric (4))

ここにSQLフィドルのデモがあります

于 2012-10-21T16:28:50.307 に答える
2

列にスペースがあります。テーブルにスペースを残したい場合は、二重引用符で囲みます"

create table emp
(
   "emp id" number(4), 
   "first name" varchar2(25),
   .....
);

ただし、スペースを追加せずに列名を作成するのが最善の方法です。

create table emp
(
   empID number(4), 
   firstName varchar2(25),
   .....
);
于 2012-10-21T16:19:31.777 に答える