Подскажите по обновлению View

saxix
Дата: 01.06.2011 17:14:17
Пытаюсь сделать update во view
CREATE VIEW tt
AS
SELECT [tid],[value], 1 as _id FROM [dbo].[te1]
UNION ALL
SELECT [tid],[value], 2 as _id FROM [dbo].[te2]
А в ответ
Невозможно обновить представление UNION ALL "dbo.tt", так как столбец секционирования не найден.
Что это за столбец секционирования?
saxix
Дата: 01.06.2011 17:19:10
Да, забыл. te1 и te2 по структуре идентичны
CREATE TABLE [dbo].[te1](
	[tid] [int] IDENTITY(1,1) NOT NULL,
	[value] [varchar](20)  NOT NULL,
 CONSTRAINT [PK_te1] PRIMARY KEY CLUSTERED 
(
	[tid] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
baracs
Дата: 01.06.2011 17:25:53
saxix
Что это за столбец секционирования?

Читайте доку.

Разделы: Обновляемые представления, Секционированные представления...
saxix
Дата: 01.06.2011 18:00:57
baracs
saxix
Что это за столбец секционирования?

Читайте доку.

Разделы: Обновляемые представления, Секционированные представления...

Спасибо за подсказку, сделал в таблицах PRIMARY KEY CHECK (TID BETWEEN X1 and X2)
жаль что пришлось из представления убрать table_id, с ним ни в какую не хочет.
saxix
Дата: 01.06.2011 18:10:18
Подскажите, а возможно сделать (TID BETWEEN X1 and X2) как-нибудь по другому. В данном случае надо знать, что за пределы диапазона залезать не надо. Можно сделать на все таблицы что-то наподобие единого счётчика?
Mnior
Дата: 02.06.2011 01:35:15
saxix
Можно сделать на все таблицы что-то наподобие единого счётчика?
Но это же не решит проблему обновления view.
А зачем вам вообще так много одинаковых таблиц?
saxix
Дата: 03.06.2011 15:44:25
Mnior
saxix
Можно сделать на все таблицы что-то наподобие единого счётчика?
Но это же не решит проблему обновления view.
А зачем вам вообще так много одинаковых таблиц?

Это упрощенная схема. На самом деле там разнородные таблицы. Смысл такой. Есть корневая таблица (компьютер), которая связана с таблицами-справочниками (софт, оперативная память, жесткий диск и т.п). Есть таблица,в которую записываются запросы на изменения значений в корневой таблице. Типа такого...заменить (update) в таблице (компьютер) параметр soft_id со значением 1 на 2. Таблица с запросами на изменения связана только с таблицей компьютер. Далее есть процедура, которая автоматически по наличию запроса изменяет значения.
saxix
Дата: 03.06.2011 16:08:07
Чем больше упрощаю, тем больше путаюсь
В таблице query ... query_type (тип изменения..insert, update или delete)
saxix
Дата: 03.06.2011 16:10:21
Чтобы одним запросом (одна запись в таблице query) сделать любой из трех типов операций со справочниками, да ещё и усложнил связями многое-ко многим.
invm
Дата: 03.06.2011 16:39:15
saxix,

Вам надо пересмотреть схему БД. Справочник комплектующих должен быть один. Просто введите сущность "тип комплектующей".