【问题标题】:MS SQL Trigger needed for Update a row, then delete from other table更新一行需要 MS SQL 触发器,然后从其他表中删除
【发布时间】:2017-07-05 08:35:08
【问题描述】:

我正在寻找 ms sql 的触发器。我有一张桌子dbo.item,还有另一张桌子dbo.ean。在前端我编辑这个表,一旦完成,我想从dbo.ean 中获取一个添加到dbo.item 的数字。一旦它被编辑,它应该从dbo.ean中删除,所以它不会被第二次使用。另外一个条件是,如果sku像'%%%%W'....

餐桌设计:

dbo.item

SKU名称EAN
5510W TestProduct 1
5511W TestProduct 2
5512W TestProduct 3
5513W TestProduct 4
5514W TestProduct 5

dbo.ean

平均
111111
222222
333333
444444
555555

我已经使用了搜索功能,但我对 sql 的了解相当少:D,因此非常感谢任何帮助或提示,

【问题讨论】:

  • 我的建议是编写一个具有所有这些功能的存储过程,并从前端/服务调用它,而不是使用触发器
  • 这是一个连接到ebay的ERP系统的kinf,所以从前端调用它是不可能的。
  • 数据如何保存在数据库中?您应该提供一些选项来执行此操作。我的建议是在此处添加这段 SQL。
  • 如何保存,这是个好问题。也许这有帮助。如前所述,它是一种与 ebay 连接的 erp 系统。 EAN 代码是必需的,才能在 ebay 上启动报价。在准备报价时,我们可以选择手动添加一个 ean 代码,并从 Excel 表中删除它,这样它就不会被第二次使用。所以,我现在的想法是,我创建一个 dbo.ean 表,将 ean 代码导入到该表中。保存报价后,数据库通过触发器将 ean 写入字段,并将其从创建的 dbo.ean 表中删除。
  • 我还有其他触发器正在使用,即自动设置运输选项,等等,这些都很好用。

标签: sql sql-server triggers sql-delete


【解决方案1】:

在 SqlServer 上有两个用于触发器(插入/删除)的表,它们是应用于原始表的更改的视图。

您可以使用这样的触发器: 在删除后的项目上创建触发器 tr_ondelete

从 ean 所在的 ean 中删除(从已删除中选择 ean)

【讨论】:

  • 谢谢,我试试看
猜你喜欢
  • 2012-05-22
  • 1970-01-01
  • 2020-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多