title: How to determine if a column of a view is derived or constant?
body: <p>Let's say I have the following table:</p>
  
  <pre><code>create table t_Item (
      ItemID int not null identity(1,1) constraint PK_Item primary key,
      Description varchar(256) not null,
      Price decimal(10,2) not null
  )
  </code></pre>
  
  <p>and the following view:</p>
  
  <pre><code>create view Item as
    select ItemID
          ,Description
          ,Price
          ,1.09 Tax
          ,Price * 1.09 TaxedPrice
      from t_Item
  </code></pre>
  
  <p><code>TaxedPrice</code> is a derived column, and <code>Tax</code> is a constant column.</p>
  
  <p>Therefore, I can't insert or update any of them. The first following query would pass, whereas the other ones would fail with an error.</p>
  
  <pre><code>insert into Item (Description, Price) values ('Test item', 14.00)
  
  insert into Item (Description, Price, TaxedPrice) values ('Test item', 14.00, 15.26)
  
  insert into Item (Description, Price, Tax) values ('Test item', 14.00, 1.09)
  </code></pre>
  
  <p>And here is the returned error message:</p>
  
  <blockquote>
    <p>Update or insert of view or function 'Item' failed because it contains a derived or constant field.</p>
  </blockquote>
  
  <p>Is there a way, maybe with the system views, to list the view columns which must not be updated?</p>