5

如何在 TSQL 中创建可更新视图。请提供我可以作为解决方案基础的简单示例。

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

如需很好的参考,请查看msdn

4

1 回答 1

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 要求(查找),因此我可以在视图上执行以下操作:

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

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

祝你编程好运。

于 2011-10-20T09:23:01.853 回答