Criei uma exibição que seleciona várias tabelas em uma consulta complexa.
- Devido à complexidade, criei gatilhos de inserção/atualização/exclusão INSTEAD OF para lidar com essas operações na exibição.
- Também criei procedimentos armazenados que atualizam a exibição.
Quando eu construo o projeto de banco de dados VS2010, o script SQL contém os comandos CREATE nesta ordem: (1) a exibição, (2) os procedimentos armazenados e, em seguida, (3) os gatilhos.
Agora, quando executo o script de implantação, recebo um erro:
*** SQL01268 D:\scripts\vs2010\Database.sql (28494,0).Net SqlClient Data Provider:
Msg 4405, Level 16, State 1, Procedure MyViewSave, Line 18 View or function 'MyView' is
not updatable because the modification affects multiple base tables
Se os gatilhos fossem criados antes do procedimento armazenado, não haveria problema.
Como posso garantir que os gatilhos sejam criados antes dos procedimentos armazenados?
Obrigado!