当前位置: 首页 > 面试题库 >

在SQL中自动设置字段值

陶唯
2023-03-14
问题内容

我有一个带有两个表的SQL Server 2008数据库。第一个表称为Department。第二个表称为票证。这两个表的定义如下:

Department
----------
ID
Name
TotalTickets

Ticket
------
ID
DepartmentID
Description
AssignedTo

我正在尝试找出一种动态更新Department.TotalTickets值的方法。当添加或删除工单时,我想自动增加或减少TotalTickets的值。有人可以告诉我在SQL
Server 2008上执行此操作的最佳方法吗?

谢谢


问题答案:

有多种方法可以实现此目的,您可以在票证表上插入或删除后使用触发器,也可以将其TotalTickets移出部门并放在视图中。

CREATE VIEW viewDepartmentTickets
AS 
  SELECT d.Id, d.Name, Sum(t.ID) As TotalTickets
  FROM Department d
  LEFT OUTER JOIN Ticket t ON t.departmentid = d.departmentid
  GROUP BY d.Id, d.Name

如果性能是一个问题,您可以将视图创建为索引视图,因为Thomas指出联接将需要为INNER JOIN,表名必须采用该格式,dbo.Department并且您必须创建视图WITH SCHEMABINDING才能沿此路线前进。

插入/删除票证后,视图将更新。



 类似资料:
  • 本文向大家介绍SQL server 2005中设置自动编号字段的方法,包括了SQL server 2005中设置自动编号字段的方法的使用技巧和注意事项,需要的朋友参考一下 如果希望重新定义在表中添加新记录时该列中自动生成并存储于列中的序列号,则可以更改该列的标识属性。在每个表中只能设置一个列的标识属性。 具有标识属性的列包含系统生成的连续值,该值唯一地标识表中的每一行(例如,雇员标识号)。在包含标

  • 问题内容: 如何为欧姆对象动态设置字段? 问题答案: 中的class方法为命名属性定义访问器和更改器方法: 因此,当您说时,您可以免费获得以下方法: 您可以像这样调用mutator方法: 如果您真的想说,那么可以在课堂上添加以下内容: 您可能还希望访问器版本保持对称:

  • 我有一个表单,其中有些字段不是模型的字段。在发送到渲染之前,我想在我的视图中填充它们.. 我的表格: 我的视图代码: 谢啦

  • 如何通过JavaScript或jQuery在更多输入字段中设置值(默认值)?非常感谢。

  • 我可以从账单和运输中取消设置字段,但为什么我不能从其他字段部分取消设置字段。我在这些字段上添加了一个条件。也许我用错了元键。 使用此插件创建字段签出字段编辑器

  • 我知道我可以像这样轻松地在JSP中格式化日期: 我做错了什么?