如何在TSQL中创建可更新视图

Fal*_*con 5 t-sql updatable-views

如何在TSQL中创建可更新的视图.请提供简单的示例,我可以根据我的解决方案.

最近我用TSQL帮助了我的朋友,他向我询问了可更新的视图.我认为将我的解决方案留在这里作为快速查找将是一个好主意.

如需参考,请查看msdn.

Fal*_*con 5

我提供了一个非常基本的工作示例.

--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
Run Code Online (Sandbox Code Playgroud)

由于表和视图正在填写msdn请求(查找),我可以在视图上执行以下操作:

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
Run Code Online (Sandbox Code Playgroud)

重要提示:也允许批量插入.

祝你好运.