← К оглавлению занятия

🐛 Типичные ошибки

⚡ Кратко: ошибки

  • Забыть WHERE в UPDATE.
  • Нарушить CHECK-ограничение.
  • Пропустить NOT NULL у обязательного поля.
  • Создать View с существующим именем без OR REPLACE.
  • Считать, что View хранит данные.
1

Ошибка: UPDATE без WHERE

-- Опасно: изменит все строки
UPDATE products SET stock_quantity = stock_quantity - 3;

-- Правильно
UPDATE products
SET stock_quantity = stock_quantity - 3
WHERE product_id = 1;
2

Ошибка: нарушение CHECK

-- Ошибка: отрицательная цена
INSERT INTO products (product_name, price, stock_quantity)
VALUES ('Test', -5.00, 10);
3

Ошибка: пропуск NOT NULL

-- Ошибка: product_name обязателен
INSERT INTO products (price, stock_quantity)
VALUES (100.00, 10);
4

Ошибка: View уже существует

-- Ошибка, если View уже есть
CREATE VIEW product_overview AS SELECT * FROM products;

-- Правильно
CREATE OR REPLACE VIEW product_overview AS
SELECT product_name, category, price * stock_quantity AS stock_value
FROM products;
5

Ошибка: предположение, что View хранит данные

View — это сохранённый запрос. При изменении исходной таблицы результат View тоже меняется.

SELECT * FROM product_overview; -- результат зависит от текущих данных products