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

时间:2011-10-20 08:43:11

标签: tsql updatable-views

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

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

如需参考,请查看msdn

1 个答案:

答案 0 :(得分: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

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

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

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

祝你好运。