Я создал курсор внутри триггера и не работает должным образом. Пожалуйста, помогите мне исправитьКурсор курсора SQL Server не работает
Create trigger Posts_Raw_To_Queue_Trigger ON SendNotificationPostsRaw FOR INSERT
AS
BEGIN
DECLARE @PostID uniqueidentifier
DECLARE @UserID uniqueidentifier
DECLARE @ProfID int
DECLARE @Email nvarchar(100)
DECLARE @CreationTime datetime
DECLARE @SpecialityID int
SELECT @ProfID= ProfessionalID,@Email= Email from Professionals where [email protected]
SELECT @PostID = I.PostID,@UserID = I.UserID ,@CreationTime =I.CreationTime FROM INSERTED I
DECLARE post_relation_cursor CURSOR FOR select CategoryId from PostCategoryRelations where [email protected];
OPEN post_relation_cursor;
FETCH NEXT FROM post_relation_cursor INTO @SpecialityID
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO SendNotificationPostsQueue (UserID,PostID,SpecialityID,TemplateID,CreationTime,SendTime,JSONParameters) Values(@UserID,@PostID,1,1,'04/11/2013','04/11/2013','')
FETCH NEXT FROM post_relation_cursor INTO @SpecialityID;
END;
CLOSE post_relation_cursor;
DEALLOCATE post_relation_cursor;
END
Если удалить курсор и вставьте фиктивные значения в SendNotificationPostsQueue
, он работает. Так что проблема с моим курсором ... Скажите, пожалуйста, почему курсор не работает?
что вы теперь имеете в виду, что произойдет, если вы используете курсор. какой результат он дает –
Похоже, вы предполагаете там только одну строку во вставленной таблице. Это не верно. Не знаю, является ли это причиной вашего «нерабочего», но в любом случае это неверно. – automatic
Я использую Sql Server Web Admin, поэтому я не вижу никаких ошибок. Я не могу отлаживать –