在查询分析中编写触发器:当修改department表中的部门号时,同时对employee表中相应的部门号进行修改。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在查询分析中编写触发器:当修改department表中的部门号时,同时对employee表中相应的部门号进行修改。相关的知识,希望对你有一定的参考价值。

在查询分析中编写触发器:当修改department表中的部门号时,同时对employee表中相应的部门号进行修改。
方法:在department表中对部门号修改创建update触发器。
代码咋编。。。

你用的什么数据库??问题都不清楚
oracle, sybase, db2, or ??
如果是oracle,可以安装一个pl/sql developer7.1,看其中的例子即可.

楼上写的是sybase的语法的,不是很熟悉,但是有个地方不太赞同:
在trigger中的"go"/"commit"会对外层事务的执行造成截断执行.所以不能在trigger里面写"提交"语句.试想,如果外层事务需要rollback,会是什么结果:)
参考技术A create trigger tri_a
on department
for update /例如,如果是新插入一个部门号
as
update employee set employee.部门号=(select 部门号 from inserted)
go

如何编写在 Mysql 触发器中获取多条记录的选择查询?

【中文标题】如何编写在 Mysql 触发器中获取多条记录的选择查询?【英文标题】:How to write select query with multiple records fetched in Mysql Trigger? 【发布时间】:2013-12-20 04:09:39 【问题描述】:

我有 2 个表 product_history 有 3 列

    身份证 product_id admin_id

另外一个表(product_data)是用来存储数据的……

    管理员名称 产品名称 产品说明 产品编号....等

现在我想写一个Mysql Trigger之类的。 在 product_history 表中插入记录时,我需要从 product 表和 admin 表中获取所有产品和管理相关信息,并将这些记录插入 product_data 表中。

我该怎么做?

基本上我想在触发器正文中使用选择查询,但是选择查询可以返回多条记录。有可能吗?

【问题讨论】:

【参考方案1】:

我认为您可以检索此信息而无需在另一个表中插入数据,您可以在 product_data 表中拥有:admin_id(以及您的 admin_name,但会是多余的)。

根据您当前的想法,在您当前的 product_data 中,您应该有一个 product_id 字段与您的其他表相关。

【讨论】:

但我故意需要在 product_data 表中插入该记录。这是我的要求。

以上是关于在查询分析中编写触发器:当修改department表中的部门号时,同时对employee表中相应的部门号进行修改。的主要内容,如果未能解决你的问题,请参考以下文章

mysql 程序编写实例

在 Oracle 包/过程/触发器/函数中编写的查询

mysql添加触发器后无法插入数据的问题

oracle触发器中定时执行sql

表的连接查询

多表查询和子查询