просто некоторые головные боли при реализации чего-то в триггере на старой версии Sybase и задались вопросом, может ли кто-нибудь помочь. Вкратце, я хочу написать триггер, который будет вызывать другое sproc для каждой из затронутых записей (будь то вставка, удаление или и то и другое [обновлено]).
Одним из способов сделать это в T-SQL (SQL Server) было бы использование курсора, но ни один из примеров курсоров, которые я нашел в Интернете, кажется, на самом деле не работает на Sybase ASA 6.0.4 - он либо не любит T-SQL в целом или он, кажется, компилируется, но обычно ничего не делает (даже с патологически простыми, надуманными сценариями).
По сути, я хочу пройтись по всем «вставленным» записям таблицы (если есть) и для каждой Exec MySproc (insert.keyid) , а затем перебрать все «удаленные» записи таблицы (если есть), и снова для каждого Exec MySproc (dele.keyid) .
У кого-нибудь есть пример такого рода действий или даже просто использование курсора только для чтения в ASA 6? Кажется, в онлайн-руководстве есть пример простого курсора, но на практике мне не удалось заставить этот пример работать. Я мог бы развернуть другое sproc в триггер (на самом деле это не так уж сложно), но это слишком сложно сделать как часть оператора типа «выбрать из вставленного ...» - это действительно несколько строк кода в своем собственном праве. Поэтому я все равно думаю, что мне нужен курсор.
РЕДАКТИРОВАТЬ : (29/12/09) - я в отчаянии развернул код sproc, но мне очень хотелось бы иметь пример работающего курсора в Sybase ASA 6, потому что рано или поздно я столкнусь с чем-то, что я не могу легко развернуть. Так что я выброшу это за вознаграждение - может кто-то дать мне рабочий пример? : -)