Приложение. Некоторые типичные ошибки
При отладке программ неизбежно обнаруживаются
разнообразные ошибки. Рассмотрим некоторые типичные ситуации
при работе в Query Analyzer.
Команда:
SELCT * FROM k_bill
Ошибка:
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near '*'.
Объяснение:
Синтаксическая ошибка, пропущена буква в слове SELECT.
Команда:
INSERT INTO k_firm (firm_name, firm_addr)
VALUES(10, 'Сигма', 'Киев');
Ошибка:
Server: Msg 110, Level 15, State 2, Line 1
There are fewer columns in the INSERT statement than values
specified in the VALUES clause. The number of values in the
VALUES clause must match the number of columns specified in
the INSERT statement.
Объяснение:
В команде вставки в списке полей перечислены два поля, а в списке
значений – три значения.
Команда:
INSERT INTO k_firm (firm_num, firm_name, firm_addr)
VALUES(10, 'Сигма', 'Киев');
Ошибка:
Server: Msg 544, Level 16, State 1, Line 1
Cannot insert explicit value for identity column in table
'k_firm' when IDENTITY_INSERT is set to OFF.
Объяснение:
Нельзя указывать явное значение для поля, у которого установлено
свойство IDENTITY, т.е., для поля firm_num.
Команда:
INSERT INTO k_staff
(staff_name, dept_num, staff_hiredate, staff_post)
VALUES('Смит', 4, GETDATE(), 'Менеджер');
Ошибка:
Server: Msg 547, Level 16, State 1, Line 1
INSERT statement conflicted with COLUMN FOREIGN KEY
constraint 'fk_staff_dept_num'. The conflict occurred in
database 'kontora', table 'k_dept', column 'dept_num'.