0

我有一个数据库,其中有一个包含电子元件的表。我想根据组件的类型创建视图。

假设我的表有 2 个字段:

  • 类别
  • 子类别

现在假设我的桌子上有很多径向 Rasistor。它们都有类别:电阻器,子类别:径向。我想执行这样的查询:

CREATE VIEW `Resistor - Radial` AS SELECT * FROM `components` WHERE `Category`='Resistor' AND `Sub Category`='Radial'

这很简单。现在我想在每次用户输入新零件、删除零件或修改现有零件时自动生成这些视图。我想到了触发器,但对它们了解不多。trigger 会是一个好方法吗?

4

1 回答 1

0

我认为对您的问题的“理想”答案是在表上有一个插入触发器,然后让这个触发器创建一个视图。但是,为了使用用户生成的名称创建视图,您需要使用动态 SQL。 而这在 MySQL 中是不支持的

另一种解决方案是返回表的用户定义函数。但这也不是 MySQL 的一部分。

所以,如果你真的想这样做,那么我可以想到两个选择。第一种是将所有插入包装到存储过程中的表中。然后存储过程可以调用动态 SQL 来创建视图。

另一种是每天(每小时?每分钟?)在表中查找新记录的工作。找到新组合后,创建视图。

于 2013-04-21T01:04:18.610 回答