С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168

Использовать значения запроса SELECT в t-sql

20.11.2013, 13:38. Показов 1824. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Проблема такая.
Мне нужно получить данные select'm а потом их далее использовать в триггере.
С БД пока на Вы, а триггеры вообще впервые использую.
Т.е.
T-SQL
1
2
3
4
 SELECT inserted.Id, AccauntId
      ,dbo.Accaunt.Code AS AccauntCode ,dbo.Accaunt.Name AS AccauntName
      FROM inserted INNER JOIN dbo.Accaunt 
          ON dbo.Accaunt.Id = AccauntId
И далее мне нужно сделать нечто вроде
T-SQL
1
If AccauntCode = 'блаблабла'
Но так просто данные из SELECT не получить)
Можно ли как-то решить эту проблему?
Сразу скажу это не ваплидация) Нужно выполнчть действие именно после вставки
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.11.2013, 13:38
Ответы с готовыми решениями:

Результаты sql запроса select в QList
Всем привет! Нужно результаты запроса select записать в qlist. QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); ...

Вывод результата запроса select sql в textbox
Всем здравствуйте! Понадобилось вывести в текстбокс результат запроса соединение через sqldatasourse declare @data varchar(max), ...

Оператор Select SQL запроса, содержащий переменную
Здравствуйте. Помогите выполнить выборку Select. Запрос типа "select * from Table where Name = 'Иван'" выполняется без проблем. ...

7
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
20.11.2013, 13:53
Цитата Сообщение от ntny Посмотреть сообщение
Нужно выполнчть действие именно после вставки
Ну вот и огласите, что за действие нужно выполнить, а не выбранный вами способ решения.
0
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168
20.11.2013, 14:39  [ТС]
invm, Нужно удалять все временные аккаунты.
Он создается раз в день, один на всех.
В данный момент возникла необходимость их подчищать.
Я решил, что это действие лучше выполнять после создания нового временного акка.
Но для этого мне из вставляемых данных нужно получить данные дабы убедиться, что аккаунт временный и йд группы к которой он относится.

Возможно я вообще не туда пошел.

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

Добавлено через 34 минуты
Пока дошел только до IF(SELECT Code from dbo.Action WHERE Id = (SELECT ActionId FROM inserted )) = 'Temp'
И так же в delete.
Интересует просто есть ли что либо более адекватное для такой ситуации.
Задачу таким образом решить конечно можно
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
20.11.2013, 14:53
Признак "временности" какой?
0
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168
20.11.2013, 15:06  [ТС]
invm, есть специальные группы они имеют код темп.
Все аккаунты в них временные, при создании помещаются именно в эту группу.
Пока пишу так
IF(SELECT Code from dbo.Group WHERE Id = (SELECT GroupId FROM inserted )) = 'Temp'
begin
DELETE FROM dbo.Accaunt
WHERE
GroupId = (SELECT GroupId FROM inserted)
AND Code <> (SELECT Code FROM inserted)
end
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
20.11.2013, 15:16
T-SQL
1
2
3
4
5
6
delete a
from
 inserted i join
 dbo.Accaunt a on a.GroupId = i.GroupId and a.Code <> i.Code
where
 i.GroupId = 'temp'
0
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168
20.11.2013, 16:09  [ТС]
Хм.
Еще один вопрос.
Если Id задается(это си шарп код)
C#
1
Id = (long)command.ExecuteScalar();
Получается я не могу использовать триггер?
Исключение
The target table 'dbo.Accaunt' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
20.11.2013, 19:01
Цитата Сообщение от ntny Посмотреть сообщение
Получается я не могу использовать триггер?
Можете. Только возвращать результат на клиента придется через промежуточную табличную переменную или временную таблицу, а не напрямую из output, как сейчас.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2013, 19:01
Помогаю со студенческими работами здесь

Реализация select запроса используя хранимую процедуру - sql server
Здравствуйте в программе на с# имеется запрос такого типа: private void button1_Click(object sender, EventArgs e) { ...

<select multiple> selected значения после GET запроса
Доброго времени суток, столкнулся с вопросом, когда надо перезагрузить страницу с сохранением выбранных до этого данных. Так же, среди...

Как вывести результат запроса select в txt-файл? (Transact-SQL)
Как вывести результат запроса select в txt-файл? (Transact-SQL)

Как использовать логин пользователя для запроса в SQL
Очень много просмотрел форумов, но найти ответ на этот вопрос так и не смог. Необходимо, что бы на странице отображались данные для...

Можно ли в строке SQL запроса использовать значение строковой переменной
Если подставляю в строку переменную file_name : cnn.Execute 'DELETE FROM Adr WHERE Page_name = file_name ',,adCmdText +...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru