Дед Мазай
Гений
(58109)
6 лет назад
Я не понял задачу.
1. Очень странно создавать представление с такой узкой выборкой. В на звании представления не отражено, что оно только для одного клиента.
2. SQL подразделяется на DML и DDL. Все разновидности ALTER - это DDL. Все операции с данными - это DML. Единственное исключение - это truncate table - вроде операция с данными, но относится к DDL.
3. Представления, содержащие JOIN, считаются необновляемыми. Это по стандарту. Про MS SQL не знаю, может там какие-то расширения на эту тему. Представления обновляются так же, как таблицы: при помощи insert и update.
Роман ProtocolМыслитель (8562)
6 лет назад
Согласен, задача странная. Мы отбираем в представление неотгруженные заказы. И там не должно быть столбика состояние заказа (отгружен / не отгружен) так как все заказы неотгружены. А потом в представлении неотгруженные заказы нужно сделать, чтобы появился отгруженный заказ. Странно.
Нужно изменить в представлении «Неотгруженные заказы» статус заказа (Shipment) статус с 0 на 1 (1 значит отгружен) для клиента Antonio Moreno Taqueria.
Как это можно сделать через ALTER VIEW?
Спасибо за ответы!
ALTER VIEW Ne_Otgruzeno(Shipment)
SELECT O.Shipment
FROM Orders O
INNER JOIN Customers C ON O.CustomerID = C.CustomerID
WHERE C.CompanyName = 'Antonio Moreno Taqueria'