USEFUL SITES :
Write for Us
Error Message: Msg 4431, Level 16, State 1, Line 2 Partitioned view '%.*ls' is not updatable because table '%.*ls' has a timestamp column.
Severity level: 16.
Description: This error message appears when you try to update a UNION ALL view but at least one of the underlying base tables has a column of the timestamp data type.
Consequences: The T-SQL statement can be parsed, but causes the error at runtime.
Resolution: Errors of the Severity Level 16 are generated by the user and are corrigible by the user. The statement cannot be executed this way. You cannot update a UNION ALL view with a timestamp column in an underlying base table.
Versions: This error message was introduced with SQL Server 2000.
Example(s): IF OBJECT_ID ('dbo.T') IS NOT NULL DROP TABLE dbo.T; GO IF OBJECT_ID ('dbo.T1') IS NOT NULL DROP TABLE dbo.T1; GO IF OBJECT_ID ('dbo.V') IS NOT NULL DROP VIEW dbo.V; GO
CREATE TABLE dbo.T ( c1 int PRIMARY KEY CHECK (c1 BETWEEN 1 AND 10), c2 timestamp ) GO CREATE TABLE dbo.T1 ( c1 int PRIMARY KEY CHECK (c1 BETWEEN 11 AND 20), c2 timestamp ) GO
CREATE VIEW dbo.V AS SELECT c1, c2 FROM dbo.T UNION ALL SELECT c1, c2 FROM dbo.T1; GO
UPDATE dbo.V SET c1 = 1;
Remarks: In the above example we try to update the view dbo.V. Because dbo.T and dbo.T1 have timestamp columns, the error is raised.