Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 当其他列值更改时自动更新列_Sql Server_Triggers - Fatal编程技术网

Sql server 当其他列值更改时自动更新列

Sql server 当其他列值更改时自动更新列,sql-server,triggers,Sql Server,Triggers,我是SQL的初学者,现在,我需要和我的教授一起完成一项任务 我在SQLServer的数据库中设计了三个表。我有一个距离表,有5列,是到5个不同车站的距离。然后,我想得到5的最小距离。然后,我想将此单元格更改为NULL,在另一个表中,我将自动将此站点的状态从可用更改为不可用 实际上,每次,如果我从距离表中获得最小距离,我都会将该站分配出去,并将单元格置为空,并更改另一个表中的站状态不可用 那么,我如何设计触发器更好 最好的 Sophia您的措辞有点混乱,但在我使用MySQL时,所有内容都必须详细定

我是SQL的初学者,现在,我需要和我的教授一起完成一项任务

我在SQLServer的数据库中设计了三个表。我有一个距离表,有5列,是到5个不同车站的距离。然后,我想得到5的最小距离。然后,我想将此单元格更改为NULL,在另一个表中,我将自动将此站点的状态从可用更改为不可用

实际上,每次,如果我从距离表中获得最小距离,我都会将该站分配出去,并将单元格置为空,并更改另一个表中的站状态不可用

那么,我如何设计触发器更好

最好的
Sophia

您的措辞有点混乱,但在我使用MySQL时,所有内容都必须详细定义。“距离”我想你指的是“路径”。通过列出到达目标所需的所有同级/子表,将表中的行链接到远程表。但您需要至少5-8个额外的“真”或“假”列。
一个可以标题为“is_访问”,另一个标题为“is_可用”、“is_更改”、“is_删除”、“is_使用”和“is_完成”。您需要在JS/PHP/Perl中创建一个spyder(robot)来监视您所指的触发器。true/false列跟踪权限、操作和状态,因此软件spyder定义了“状态”,将其付诸实施,直到完成为止。

  • “已更改”确认触发器并启动程序。
  • 然后,软件读取其他真/假标志以确定其操作。他们的名字隐含着他们所做的事情,因为他们的措辞是“问题”。只要程序忙,“is_done”设置为false。程序根据需要更改其他标志的状态。完成所有操作后,它将其“完成”标志设置为“真”。
  • 小心你的程序删除的内容。除非内容无用或过时(如会话数据或临时文件),否则最好只使用“is\u access”和“is\u available”控制对远程表的访问。路径长度应该是固定的,除非在同一路径中创建另一个表,但不是最后一个子表。
  • 我只触及了要做的工作的表面。您的程序必须定制以实现这些操作,因此我没有代码提供。先把要做的步骤写在纸上,这样事情才有意义。
  • 您可以创建一个包含这些真/假标志的表。你的触发器会让你的程序在采取行动之前先检查这个表。如果您的表还可以指向一行常用操作,而不是源表中的大量重复,那么这可以节省代码和表空间
  • 您的程序只需要知道要做什么、要对哪些表执行操作(按行和列),以及更新它用来确定下一步要执行的操作(如果有)的标志。完成后,它将侦听其他触发器。
  • 您的程序也可以通过编辑路径本身来添加或减去目标路径中的其他表。它不会创建或删除表(这将是一个SQL操作,如果它影响程序负责的路径,则会创建一个触发器),只会在“距离”路径中包含或删除它的名称。祝你好运

  • 查看/计算列。如果你把那堵巨大的文本墙分成几段,这个答案会更容易阅读。您可能还希望使用反引号
    `
    来解释
    是否可用
    等内容,以明确它们是代码实体。