2011-10-20 17 views
5

Cómo hacer una vista actualizable en TSQL. Proporcione ejemplos simples en los que pueda basar mi solución.Cómo crear vistas actualizables en TSQL

Últimamente estaba ayudando a mi amigo con TSQL, y me preguntó acerca de las vistas actualizables. Pensé que sería una buena idea dejar mi solución aquí para el futuro como una búsqueda rápida.

Para obtener una buena referencia, eche un vistazo a msdn.

+0

¡Tiene que expresar esto como una pregunta más específica o probablemente se cerrará antes de que expiren las 8 horas! –

Respuesta

5

Proporciono un ejemplo de trabajo muy básico.

--Here is our base table 
CREATE TABLE [test_table] 
(
    [a] int primary key, 
    [b] varchar(40), 
    [c] bigint, 
    [d] varchar(20), 
) 
GO 

--Here is our view to the table 
CREATE VIEW [test_view]  As SELECT b,a,d FROM test_table 
GO 

--As an example insert few entries 
INSERT INTO test_table VALUES (0, 'abc', 2, '2011-10-13') 
INSERT INTO test_table VALUES (1, 'abc', 2, '2011-10-13') 
INSERT INTO test_table VALUES (3, 'abc', 2, '2011-10-13') 

--Check if everything works fine 
SELECT * FROM test_table 
SELECT * FROM test_view 
GO 

Desde la mesa y la vista se fullfiling los requierments MSDN (lookup), soy capaz de hacer lo siguiente en la vista:

UPDATE test_view SET b = 'xyz', d = '2011-10-14' where a = 0 
INSERT test_view VALUES ('xyz', 2, '2011-10-14') 
DELETE test_view where a = 3 
GO 

SELECT * FROM test_table 
SELECT * FROM test_view 
GO 

Importante: Se permite así inserción a granel .

Buena suerte con la programación.

Cuestiones relacionadas