【发布时间】:2015-12-15 00:28:28
【问题描述】:
在视图中插入与直接在表中插入相比有什么好处?例如场景 #1
如果视图只有表中的几列,你仍然能够成功插入吗?例如场景 #2
场景 #1:
CREATE TABLE dbo.tbl1
(
ID INT NOT NULL,
NAME VARCHAR(32) NOT NULL
);
CREATE VIEW dbo.vw_x
AS
SELECT ID, Name
FROM dbo.tbl1
WHERE ID = 2
INSERT INTO dbo.vw_x
SELECT 2, 'Name';
场景 #2:
CREATE TABLE dbo.tbl1
(
ID INT NOT NULL,
NAME VARCHAR(32) NOT NULL
);
CREATE TABLE dbo.tbl2
(
ID INT NOT NULL,
VALUE VARCHAR(32) NOT NULL
);
CREATE VIEW dbo.vw_x
AS
SELECT t1.ID, t2.Value
FROM dbo.tbl1 t1
INNER JOIN dbo.tbl2 t2
ON t1.ID = t2.ID
WHERE t1.ID = 2
INSERT INTO dbo.vw_x
SELECT 2, 'Name';
【问题讨论】:
-
我指出它是最重要的答案,在回答您的第二个问题时可能会很有用(简而言之,假设视图支持插入,那么是的,值实际上被插入到表中)。对于您问题的第一部分,互联网上有大量这样做的示例。