Здесь есть две проблемы:
вы вставляете строку, содержащую встроенную одинарную кавычку: 'Dave's Sub Shop'
.Глюк обнаруживается в любом приличном текстовом редакторе (включая SO).Вам необходимо экранировать кавычку: 'Dave''s Sub Shop'
столбец phone_number
объявлен как number(10)
, однако то, что вы пытаетесь вставить, не похоже на одно: 555-333-4545
,Вам следует изменить тип данных столбца на varchar(12)
.Затем вам нужно будет указать значения, которые вы вставляете.
Демонстрация на DB Fiddle :
create table customer(
customer_ID number(3) primary key,
customer_Name varchar2(26),
contact_Name varchar2(26),
phone varchar(12));
insert into customer
(customer_ID, customer_Name, contact_Name, phone)
values (23, 'Dave''s Sub Shop', 'David Logan', '555-333-4545');
1 rows affected
select * from customer;
CUSTOMER_ID | CUSTOMER_NAME | CONTACT_NAME | PHONE
----------: | :-------------- | :----------- | :-----------
23 | Dave's Sub Shop | David Logan | 555-333-4545
Примечание: другое решение - преобразовать номер телефона втип данных числа перед его вставкой (например, путем удаления встроенного -
), но я бы не рекомендовал его, поскольку номера телефонов на самом деле , а не : они могут иметь значащие начальные нули и могут содержать нецифры (()
, +
, ...)