【发布时间】:2017-01-16 11:06:05
【问题描述】:
考虑以下示例,其中我有一个表和相应的视图:
Table | View
T_EmailAddress | V_EmailAddress
----------------+----------------
ID INT | ID
Status VARCHAR | Status
Valid INT |
Column1 VARCHAR | Column1
ColumnN VARCHAR | ColumnN
我有一个程序发出以下查询:
UPDATE V_EmailAddress SET Status = 'valid' WHERE ID = 1;
UPDATE V_EmailAddress SET Status = 'invalid' WHERE ID = 2;
是否可以更新基础表,以便 Status valid 和 invalid 在 内存储为 1 和 0基础表的有效列。
请注意,我无法更改表或查询。但是我可以在表格中添加“普通”列。
【问题讨论】:
-
您是否在寻找额外的 UPDATE 查询,将有效转换为 1 并将无效转换为 0?
-
你能提供你的视图定义吗?
-
@Tanner 视图只是主表中列的一个子集,但它有一个 WHERE 子句。
-
所以status是valid的别名?
-
为什么不在视图上使用而不是更新触发器?
标签: sql sql-server sql-server-2012 views