Updating sql view
id Data, -- PK of main table tab Data fi SL, fi Model, fi Claim Status -- FK to dim Claim Status FROM tab Data AS d INNER JOIN loc SL AS sl ON SL = SL INNER JOIN loc GSP AS gsp ON GSP = GSP INNER JOIN loc Country AS c ON Country = Country INNER JOIN loc Market Unit AS mu ON Market Unit = Market Unit INNER JOIN mod Model AS m ON Model = Model INNER JOIN dim Claim Status AS s ON Claim Status = Claim Status INNER JOIN tdef Product Type ON Product Type = tdef Product Product Type LEFT OUTER JOIN tdef Service Level ON d.fimax Service Level = tdef Service Service Level LEFT OUTER JOIN tdef Action Code AS ac ON d.fimax Action Code = Action Code UPDATE tab Data SET fi Claim Status = (SELECT id Claim Status FROM dim Claim Status WHERE Claim Status Name = 'Awaiting auth.') WHERE fi Claim Status=(SELECT id Claim Status FROM dim Claim Status WHERE Claim Status Name = 'Approved') updatable in practice, due to limitations of the query processor's reasoning.
We’ll briefly explore both options so you can find what works best for you.
However, to create an updatable view, the SELECT statement that defines the view must not contain any of the following elements: If you create a view with the TEMPTABLE algorithm, you cannot update the view.
Note that it is sometimes possible to create updatable views based on multiple tables using an inner join.
This is a requirement of the relational model and is referred to as relational closure.
A view is basically the relational model's way of turning a SELECT statement into a "table" that is accessible using SQL. They can consist of any combination of the following: Views are defined using SQL and are represented internally to SQL Server by a SELECT statement, not by stored data.
Search for updating sql view:
you're not breaking the rules for updateable views, then you should be okay. So not using a view for updates seems to be the safest approach.