小编rya*_*yan的帖子

编写 SQL 触发器来比较新旧值

我正在尝试编写一个 SQL 触发器来比较新旧值。如果两个值不同,那么我需要显示一条错误,指出您无法更新名称。我的触发器的确切定义是

编写一个名为 disallow_team_name_update 的触发器函数,用于比较 OLD 和 NEW 记录团队字段。如果它们不同,则会引发异常,指出不允许更改团队名称。然后,将此触发器附加到名称为 tr disallow team name update 的表,并指定它在表中团队字段的任何潜在更新之前触发。

我用于解决此问题的表是:

  Table "table.group_standings"
    Column |         Type          | Modifiers
   --------+-----------------------+-----------
    team   | character varying(25) | not null
    wins   | smallint | not null   
    losses | smallint | not null
    draws  | smallint | not null
    points | smallint| not null
   Indexes:
     "group_standings_pkey" PRIMARY KEY, btree (team)
  Check constraints:
   "group_standings_draws_check" CHECK (draws >= 0)
   "group_standings_losses_check" CHECK (losses >= 0)
   "group_standings_points_check" CHECK (points >= 0)
   "group_standings_wins_check" CHECK …
Run Code Online (Sandbox Code Playgroud)

sql postgresql triggers function

3
推荐指数
1
解决办法
8403
查看次数

标签 统计

function ×1

postgresql ×1

sql ×1

triggers ×1