关于一个简单的数据库触发器语句。

来源:百度知道 编辑:UC知道 时间:2024/07/09 01:59:22
小弟初学数据库遇到一些问题。
比如,
A表中有
“设备牌号”“设备名称”“原使用单位”
三个字段,设备牌号是主键。

B表中除
“设备牌号”“设备名称”“原使用单位”
外还有一个“现使用单位”这么一个字段。

那么如何写一个触发器语句可以在B单中,填入“设备牌号”的值之后,可以自动带出“设备名称”、“原使用单位”两个字段的值,而不用手填。
那个,首先谢谢微软专家的回答,可是我不太明白这个语句的意思。。。

问题补充:

那个,首先谢谢微软专家的回答,可是我不太明白这个语句的意思。。。
-----------------
楼主不明时,可在排行榜--> roy_88留言

use Tempdb
go
create table A(设备牌号 nvarchar(10),设备名称 nvarchar(10),原使用单位 nvarchar(10))
insert A select '01','A1','A01'
insert A select '02','A2','A02'
insert A select '03','A3','A03'

/*
设备牌号 设备名称 原使用单位
01 A1 A01
02 A2 A02
03 A3 A03
*/
go
create table B(设备牌号 nvarchar(10),设备名称 nvarchar(10),原使用单位 nvarchar(10))
go
create trigger tr_B on B
for insert
as
update B
set B.设备名称=A.设备名称,B.原使用单位=A.原使用单位
from B
inner join inserted i on B.设备牌号=i.设备牌号
inner join A on A.设备牌号=B.设备牌号

go
insert B(设备牌号) values('01')
insert B(设备牌号) values('02')

go
select * from B
--显示结果
/*
设备牌号 设备名称 原使用单位
01 A1 A01
02 A2 A02
*/

这是在orac