我有一个可以从SQL Server导入视图或表的规划工具。我只从表tblPlanning导入记录状态'来计划'。导入后,从规划工具执行,我希望导入的记录的状态变为“计划”。 我认为在调用视图vExportPlanning之后我可以使用触发器来运行存储过程,但似乎触发器仅适用于UPDATE / DELETE / INSERT语句。 有人能指出我正确的方向吗?谢谢!
答案 0 :(得分:0)
您可以在选择或更新
时执行此操作我建议您在选择时进行,如下所示
Select col1,col2,....,'Planned' as status from tblPlanning
where status='Plan'
在查询中,您将选择带有'*'的所有列。这里用列名替换*。
答案 1 :(得分:0)
有一个很好的理由,为什么在刚刚选择数据时你真的不应该更新数据。当然,您的视图将由您的应用程序读取,处理数据并通过简单地读取视图来更新行。这可能听起来像是一种同步某事的快速方式,但想象一下你想测试视图。你会因意外更新的行而遇到麻烦,只是因为你试图检索一些数据。
因此,在选择之前/而不是之后触发某些内容对于" good"是否有意义。设计。
正如其他人提到的(我完全同意),你应该使用存储过程或函数返回表。后者意味着,你有一个函数,它基本上就像一个视图,但在其中你有机会运行代码来更新返回的数据。
根据应用程序中的更新和插入类型导致类似问题,您可能还会看一下游标的概念。