【问题标题】:filling one table when something entered to another table当某物进入另一张桌子时填充一张桌子
【发布时间】:2011-01-06 10:03:16
【问题描述】:

当我在表 A 中输入一些东西时,是否有可能以某种方式从表 A 中的值计算出一些值,并且这些值将成为表 B 中与这些值相关的新条目?

所有这些都是在数据库中完成的,而不是来自更新数据库的客户端。

我使用 MSSQL 和 MySql,你能告诉我如何在这些数据库中做这些事情吗?

【问题讨论】:

    标签: mysql database sql-server-2005


    【解决方案1】:

    你可以使用触发器。

    对于Mysql,

    http://dev.mysql.com/doc/refman/5.0/en/triggers.html

    我不确定MSSql,因为我使用的是Mysql,但你可以检查一下,

    http://msdn.microsoft.com/en-us/library/ms189799.aspx

    【讨论】:

      【解决方案2】:

      您可能需要一个触发器。这可能会有所帮助。看看下面的例子http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

      CREATE TRIGGER testref BEFORE INSERT ON test1
        FOR EACH ROW BEGIN
          INSERT INTO test2 SET a2 = NEW.a1;
          DELETE FROM test3 WHERE a3 = NEW.a1;
          UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
        END;
      

      【讨论】:

        【解决方案3】:

        使用存储过程并在插入前触发

        萨尼尔

        【讨论】:

          【解决方案4】:

          创建一个视图而不是表 B。

          【讨论】:

            猜你喜欢
            • 2014-01-24
            • 2011-10-09
            • 2020-07-29
            • 2012-05-23
            • 1970-01-01
            • 2019-02-25
            • 2015-06-20
            • 1970-01-01
            • 2010-11-26
            相关资源
            最近更新 更多