Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
HiT0k
0 / 0 / 0
Регистрация: 25.05.2015
1

Блокировка столбцов

04.12.2012, 10:56. Просмотров 700. Ответов 1
Метки нет (Все метки)

Имеется три таблицы, в одной из них (главной) два счетчика, индексированные уникально, к двум другим таблицам(пример: ExamID, GradeID). Две других таблицы, имеют в primary key два этих же столбца (по сути реализация нормализации). Необходимо с помощью триггера, запретить изменение данных в столбце главной таблицы, либо в ExamID , либо GradeID, в зависимости от того, зачет это, либо экзамен. Пример: запись относится к зачету, соответственно имеет айдишник GradeID, значит нужно запретить ввод данных в ExamID. Сижу очень долго с данным вопросом, новичек, прошу помощи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 10:56
Ответы с готовыми решениями:

Блокировка dbf
Имеем: 1) Древняя прога (писана еще под DOS) на dbf(dBaseIV) 2) На ней...

Взаимная блокировка транзакций
Здравствуйте! Можно ли каким-либо образом на одном компьютере запустить две...

HELP!!!! Блокировка в ACCESS (не тривиаьно)
Есть одна таблица. Нада сделать так, что-бы пока один юзверь не проапдейтил...

блокировка таблицы (lock) - как найти причину?
Мне нужно из таблицы удалить строку. Делаю это с помощью инструкции T-SQL...

Блокировка столбцов по выбранному значению
Здравствуйте! Есть 2 таблицы: "IDprob" и "записи проб" В таблице "IDprob"...

1
AliPali
8 / 4 / 1
Регистрация: 13.10.2011
Сообщений: 13
04.12.2012, 12:57 2
Не очень ясна постановка, каким образом данные будут предоставляться в главную таблицу,какой будет формироваться insert чтобы произвести запись сразу в 2 столбца, но может как-то так:

CREATE trigger [dbo].xxx
on [dbo].[main_table]
for insert,update
as
declare @type int
select @type = select Grade/ExamID from inserted
if((@type not null or @type <>'') and @type in (select GradeID from grades) )
begin
insert into main_table
--NULL на месте ExamID, @type на месте GradeID
select ID,@type,NULL,... from inserted
else
if((@type not null or @type <>'') and @type in (select ExamID from grades) )
begin
insert into main_table
--NULL на месте GradeID, @type на месте ExamID
select ID,NULL,@type,... from inserted
else
raiserror ('Ничего не выйдет, вы обречены.',16,-1)
rollback transaction
end
end

Заранее извиняюсь за возможные ошибки, дайте скрипт базы и подробную постановку - подскажу конкретней.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2012, 12:57

Блокировка изменения ширины столбцов в табличной форме
Добрый день еще раз. Понадобилось в табличной форме заблокировать пользователю...

Блокировка клавиши при нажатии в одной форме и блокировка в другой, третьей
Здравствуйте нужно что бы при вызове помощи в 1ом вопросе она блокировалась во...

Отсортировать номера столбцов матрицы по убыванию сумм элементов столбцов
Дана квадратная матрица размером n x n, содержащая вещественные числа....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru