Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.01;
Скачать: CL | DM;

Вниз

Многотабличные запросы (модификация данных)   Найти похожие ветки 

 
Максим   (2007-12-24 14:59) [0]

Здраствуйте, подскажите пожалуйста, как модифицировать данные, полученные с помощью многотабличного запроса , если структура запроса (и самой БД) неизвестна ?
Сейчас, алгоритм работы примерно такой:

1) Получаю список всех пользовательских обьектов БД
2) пользователь  выбирает нужный обьект из списка
3) в зависимости от типа (представление, таблица, хр. п) выполняю следующее : а) Если -таблица, просто открываю ее б) Если-представление без параметров, открываю как таблицу, если с параметрами, то прошу пользователя заполнить эти параметры в)примерно также с х.п.
4) Далее пользватель выбирает,что делать с полученной "recordSet" (добавить,изменить, удалить, поиск по , фильтр)
5) Если пользователь пытается работать с данными полученными через представление (view),построенное на нескольких таблицах,  начинаются проблемы. Так как заранее не известно сколько таблиц , какие поля и  какая схема данных используется. Например в книге Е.Мамаева "MSSQL SERVER 2000" написано так :"если нужно изменить данные во всех столбцах представления, построенного на основании четырех таблиц, то такую операцию нужно будет разбить на четыре этапа ". Я пытаюсь сделать так как написано, но все время натыкаюсь на разные грабли. Кол-во таблиц и полей в запросе я определяю так :

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
     WHERE TABLE_NAME = "##TempTable")
  DROP TABLE ##TempTable
CREATE TABLE ##TempTable
( [name]   varchar(128),
 type         varchar(128),
 updated      varchar(128),
 selected      varchar(128),
 [column] varchar(128)
)
insert ##tempTable execute SP_depends "[Имя обьекта]"
select [name],[column] from ##TempTable order by [name]

drop table ##TempTable


Но как с полученными данными работать дальше я не знаю.
Заранее спасибо!
P.S. если не понятно о чем я, спрашивайте попробую обьяснить получше.  ICQ:  333-042-156


 
Ega23 ©   (2007-12-25 13:57) [1]

Зачем два диеза ставишь?



Страницы: 1 вся ветка

Текущий архив: 2008.06.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
15-1208830166
Slider007
2008-04-22 06:09
2008.06.01
С днем рождения ! 22 апреля 2008 вторник


2-1210171211
operator
2008-05-07 18:40
2008.06.01
Вывод графиков контрастными цветами


15-1207899362
IGray
2008-04-11 11:36
2008.06.01
Что с TORRY.NET ?


15-1208258400
ламо777
2008-04-15 15:20
2008.06.01
Производительность на удаленном сервере


2-1210575397
Mishenka
2008-05-12 10:56
2008.06.01
Запуск процедуры в определённое время