помогите с простой проблемой....
От: execeter  
Дата: 05.06.03 08:06
Оценка:
Я создал базу, и три таблицы в нем, соединил все 3 таблицы по ID (в каждой таблице есть колонка ID)
дальше, создал представление(View) в котором показываются все данные всех таблиц, и вот проблема:
когда пытаюсь в представлении ввести новые данные, система говорит что-то типа следующего "unable to insert to multiple tables".
подскажите плз, как это исправить?
Re: помогите с простой проблемой....
От: Vitaton Россия  
Дата: 05.06.03 08:10
Оценка:
Здравствуйте, execeter, Вы писали:

E>Я создал базу, и три таблицы в нем, соединил все 3 таблицы по ID (в каждой таблице есть колонка ID)

E>дальше, создал представление(View) в котором показываются все данные всех таблиц, и вот проблема:
E>когда пытаюсь в представлении ввести новые данные, система говорит что-то типа следующего "unable to insert to multiple tables".
E>подскажите плз, как это исправить?

Привведи скрипт создания таблиц и команду, которая вызывает ошибку.
Судя по твоему описанию абра-кадабра какая-то.

По каким ключам ID? fk и pr — одновременно или нет?, какой вью? Какая команда на вставки? Да и че за БД?
Useless lamer
Re[2]: помогите с простой проблемой....
От: execeter  
Дата: 05.06.03 08:16
Оценка:
БД у меня стоит Sql Server 2000, и я прогаммно ничего не делал, все делал в Enterprise Manager
то есть, Визардом
я вообще только начал изучать БД
Re[3]: помогите с простой проблемой....
От: Vitaton Россия  
Дата: 05.06.03 08:20
Оценка:
Здравствуйте, execeter, Вы писали:

E>БД у меня стоит Sql Server 2000, и я прогаммно ничего не делал, все делал в Enterprise Manager

E>то есть, Визардом
E>я вообще только начал изучать БД

Нда Гитлер капут.

Попробуй как мнимум вставку записей не во вью, а в конкретную таблицу, при этом начинай вставку сначала в таблицу из которой нет ссылок на другие таблицы, и далее по порядку.

Да не очень понятно как ты связал таблицы, ты сделал внешние ключи отдельными полями или протянул связи из праймери ключей?

Да и использую какой-нибудь кэйс?
PowerDesigner, или ERWin, или Visio
Useless lamer
Re: помогите с простой проблемой....
От: Sinclair Россия https://github.com/evilguest/
Дата: 05.06.03 08:35
Оценка: +1
Здравствуйте, execeter, Вы писали:

E>подскажите плз, как это исправить?

Это не надо исправлять. Просто сервер не может понять, в какие таблички какие записи надо добавить, чтобы получить твою новую запись во view.
как правило программеры, которые хотят сделать view, который бы вел себя как таблица, пишут отдельную stored procedure с набором параметров, совпадающим с набором полей во view. Внутри процедуры выполняются необходимые вставки во все таблицы.
... << RSDN@Home 1.0 beta 7a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: помогите с простой проблемой....
От: Robbins Россия  
Дата: 05.06.03 08:35
Оценка: +4
Здравствуйте, execeter, Вы писали:

E>Я создал базу, и три таблицы в нем, соединил все 3 таблицы по ID (в каждой таблице есть колонка ID)

E>дальше, создал представление(View) в котором показываются все данные всех таблиц, и вот проблема:
E>когда пытаюсь в представлении ввести новые данные, система говорит что-то типа следующего "unable to insert to multiple tables".
E>подскажите плз, как это исправить?

Все дело в том, что обычно представления, основанные на множественных таблицах недоступны для модификации, поскольку SQL Server "не знает", какую базовую таблицу или таблицы нужно модифицировать. Для того, чтобы обойти эту ситуацию необходимо определить по данному представлению триггер INSTEAD OF, позволяющий модифицировать базовые таблицы. Есть три разновидности:
INSTEAD OF DELETE, INSTEAD OF UPDATE, INSTEAD OF INSERT.
Re: помогите с простой проблемой....
От: Karat  
Дата: 05.06.03 10:48
Оценка:
Здравствуйте, execeter, Вы писали:

E>Я создал базу, и три таблицы в нем, соединил все 3 таблицы по ID (в каждой таблице есть колонка ID)

E>дальше, создал представление(View) в котором показываются все данные всех таблиц, и вот проблема:
E>когда пытаюсь в представлении ввести новые данные, система говорит что-то типа следующего "unable to insert to multiple tables".
E>подскажите плз, как это исправить?

Может ты пытаешься изменить сначала то поле, которое не является более главным.
Re: помогите с простой проблемой....
От: DanGer  
Дата: 09.06.03 17:29
Оценка:
Здравствуйте, execeter, Вы писали:

E>Я создал базу, и три таблицы в нем, соединил все 3 таблицы по ID (в каждой таблице есть колонка ID)

E>дальше, создал представление(View) в котором показываются все данные всех таблиц, и вот проблема:
E>когда пытаюсь в представлении ввести новые данные, система говорит что-то типа следующего "unable to insert to multiple tables".
E>подскажите плз, как это исправить?

Создал ты необновляемое представление(читай доку)... можно обойтись тригером INSTEAD OF или переделать представление...
Хотя даже в этом случае наверное некоторые поля представления доступны для правки... а вот вставить запись — увы...

А вот идея с функцией мне понравилась, но не пробовал...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.