powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / каскадное удаление
10 сообщений из 35, страница 2 из 2
каскадное удаление
    #32260236
labanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в данном случае идет работа с MS SQL через аксэс 2000
...
Рейтинг: 0 / 0
каскадное удаление
    #32260241
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 labanga
У тебя еще вопросы остались или сам(а) разберешься с триггером?
...
Рейтинг: 0 / 0
каскадное удаление
    #32260252
labanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может подскажете как изменить триггер

FOR DELETE AS
DECLARE @kod nvarchar(55)
DECLARE @kolvo float

SELECT @kod=(SELECT [КодТовара] FROM deleted)
SELECT @kolvo=(SELECT Количество FROM deleted)

UPDATE [3dTab] SET Kol=Kol-@kolvo WHERE ([КодТовара]=@kod)
...
Рейтинг: 0 / 0
каскадное удаление
    #32260320
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совсем навскидку, просьба не пинать

Код: plaintext
1.
2.
3.
4.
5.
FOR DELETE AS 

UPDATE [3dTab]
SET Kol=Kol-(Select [Количество] From Deleted Where Deleted.[КодТовара]=[3dtab].[КодТовара])
Where [КодТовара] In (Select [КодТовара] From Deleted)
...
Рейтинг: 0 / 0
каскадное удаление
    #32260324
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только наверное
Select Sum ([Количество]) From Deleted Where Deleted.[КодТовара]=[3dtab].[КодТовара]
...
Рейтинг: 0 / 0
каскадное удаление
    #32260332
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скоро посетители форума SQL server поймут, насколько умные люди отвечают на вопросы в форуме Access, и перебегут сюда :-)
...Мне недавно, правда, на акцессовский вопрос насчет подзапросов на ихнем форуме хорошо ответили, но потом этот вопрос удалили (а может, я просто его не нашел)
...
Рейтинг: 0 / 0
каскадное удаление
    #32260341
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще-то не уверен, что правильно написал. Первый триггер должне был комом получиться (с почином меня).
Да он и выглядит как-то до безобразия коряво. Почему в MS SQL нельзя Inner Join проапдейтить? Тайна, покрытая мраком...
...
Рейтинг: 0 / 0
каскадное удаление
    #32260420
Владимир Смирнов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
UPDATE [3dTab]
SET Kol = t.Kol - d.SumКоличество
FROM [3dTab] t 
INNER JOIN (Select [КодТовара], sum([Количество]) as SumКоличество From Deleted GROUP BY [КодТовара]) as d 
ON t.[КодТовара] = d.[КодТовара]
WHERE SumКоличество <>  0 
...
Рейтинг: 0 / 0
каскадное удаление
    #32260815
labanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и вариант Лоха Позорного
Код: plaintext
1.
2.
3.
4.
FOR DELETE AS 

UPDATE [3dTab]
SET Kol=Kol-(Select [Количество] From Deleted Where Deleted.[КодТовара]=[3dtab].[КодТовара])
Where [КодТовара] In (Select [КодТовара] From Deleted)

и вариант Владимира Смирнова
Код: plaintext
1.
2.
3.
4.
5.
UPDATE [3dTab]
SET Kol = t.Kol - d.SumКоличество
FROM [3dTab] t 
INNER JOIN (Select [КодТовара], sum([Количество]) as SumКоличество From Deleted GROUP BY [КодТовара]) as d 
ON t.[КодТовара] = d.[КодТовара]
WHERE SumКоличество <>  0 


работают, но при удалении накладной выдается ошибка
Код: plaintext
Key column information is insufficient or incorrect. Too many rows were affected by update.
...
Рейтинг: 0 / 0
каскадное удаление
    #32260951
labanga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Артем1 в форуме по MS SQL подсказал выставить Set nocount on и все за работало без ошибок. Спасибо всем за помощь.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / каскадное удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]