создать таблицу со значениями в Oracle - PullRequest
0 голосов
/ 06 сентября 2018
create table careers 
(s_no number(2), 
course varchar2(20), 
topic1 varchar2(20), 
status1 varchar2(20), 
topic2 varchar2(20),
status2 varchar2(20),
topic3 varchar2(20),
status3 varchar2(20)) 
values (1,'oracle','sql','not','BI','not','apex','not');

Я получил такую ​​ошибку:

Ошибка запуска в строке: 2 в команде - создать карьеру таблицы (номер_сети (2), курс varchar2 (20), topic1 varchar2 (20), status1 varchar2 (20), topic2 varchar2 (20), status2 varchar2 (20), topic3 ​​varchar2 (20), status3 varchar2 (20)) значения (1, 'oracle', 'sql', 'not', 'BI', 'not', 'apex', 'not') Сообщение об ошибке - ORA-00922: отсутствует или недействительна опция 00922. 00000 - «отсутствует или недействителен»

Пожалуйста, предложите мне правильные вещи.

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

то, что вы опубликовали, имеет некоторые синтаксические ошибки. Вы должны сначала создать таблицу, а затем вставить в нее данные. Например, в моей системе из sqlplus работает следующее: пожалуйста, попробуйте:

CREATE TABLE careers
(
   s_no      NUMBER (2),
   course    VARCHAR2 (20),
   topic1    VARCHAR2 (20),
   status1   VARCHAR2 (20),
   topic2    VARCHAR2 (20),
   status2   VARCHAR2 (20),
   topic3    VARCHAR2 (20),
   status3   VARCHAR2 (20)
);

INSERT INTO careers
     VALUES (1,
             'oracle',
             'sql',
             'not',
             'BI',
             'not',
             'apex',
             'not');
commit;
0 голосов
/ 06 сентября 2018

Я думаю, что мы не можем создавать таблицы и добавлять значения на вашем пути. Вы можете попробовать это (пример того, как должен выглядеть):

CREATE TABLE recipes (
  recipe_id INT NOT NULL AUTO_INCREMENT,
  recipe_name VARCHAR(30) NOT NULL,
  PRIMARY KEY (recipe_id),
  UNIQUE (recipe_name)
);

INSERT INTO recipes 
    (recipe_name) 
VALUES 
    ("Tacos"),
    ("Tomato Soup"),
    ("Grilled Cheese");
0 голосов
/ 06 сентября 2018

Сначала создайте таблицу, затем вставьте.

SQL> CREATE TABLE careers
  2  (
  3     s_no      NUMBER (2),
  4     course    VARCHAR2 (20),
  5     topic1    VARCHAR2 (20),
  6     status1   VARCHAR2 (20),
  7     topic2    VARCHAR2 (20),
  8     status2   VARCHAR2 (20),
  9     topic3    VARCHAR2 (20),
 10     status3   VARCHAR2 (20)
 11  );

Table created.

SQL>
SQL> INSERT INTO careers (s_no,
  2                       course,
  3                       topic1,
  4                       status1,
  5                       topic2,
  6                       status2,
  7                       topic3,
  8                       status3)
  9       VALUES (1,
 10               'oracle',
 11               'sql',
 12               'not',
 13               'BI',
 14               'not',
 15               'apex',
 16               'not');

1 row created.

SQL>

В качестве альтернативы вы могли бы создать таблицу напрямую как

SQL> create table careers as
  2    select 1 s_no, 'oracle' course,
  3      'sql'  topic1, 'not' status1,
  4      'BI'   topic2, 'not' status2,
  5      'apex' topic3, 'not' status3
  6    from dual;

Table created.

но это, вероятно, плохая идея - проверьте типы данных и их длины - у вас будут проблемы для последующих вставок (например, вы не сможете вставить значение TOPIC2, ​​длина которого больше 2 символов). Кроме того, CHAR тип данных, скорее всего, не тот, который вы хотите иметь (VARCHAR2 было бы лучше):

SQL> desc careers
 Name                                      Null?    Type
 ----------------------------------------- -------- --------------
 S_NO                                               NUMBER
 COURSE                                             CHAR(6)
 TOPIC1                                             CHAR(3)
 STATUS1                                            CHAR(3)
 TOPIC2                                             CHAR(2)
 STATUS2                                            CHAR(3)
 TOPIC3                                             CHAR(4)
 STATUS3                                            CHAR(3)

SQL>

Итак - придерживайтесь первого варианта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...