设在SQL Server 2008某数据库中有商品表和销售表,表的定义如下: CREATE TABLE商品表( 商品号char(10)PRIMARY KEY, 商品名char(20)N0T NULL, 销售总量int DEFAULT 0) CREATE T

admin2017-02-28  14

问题 设在SQL Server 2008某数据库中有商品表和销售表,表的定义如下:
CREATE TABLE商品表(
商品号char(10)PRIMARY KEY,
商品名char(20)N0T NULL,
销售总量int DEFAULT 0)
CREATE TABLE销售表(
商品号char(10),
销售时间datetime,
销售数量int NOT NULL,
PRIMARY KEY(商品号,销售时间))
FOREIGN KEY(商品号)REFERENCES商品表(商品号))
现要创建一个具有如下功能的触发器:每当在销售表中插入一条销售记录时,修改商品表中对应商品的销售总量,假设一次只插入一条销售记录。请补全下列代码。
CREATE TRIGGER tri_insert On_____FOR______
AS
________商品表_______销售总量=______+
(SELECT销售数量FROM______)
WHERE商品号IN(SELECT商品号FROM Inserted)

选项

答案第一空销售表 第二空INSERT 第三空UPDATE 第四空SET 第五空商品表.销售总量 第六空INSERTED

解析 从触发器的语法中可知,第一空处应该填写的执行触发器的表,第二空处应该填写指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。从题目“CREATE TRIGGERtri_insert On第一空FOR第二空”知,本题创建的触发器是是后触发器。该触发器的功能是“每当在销售表中插入一条销售记录时,修改商品表中对应商品的销售总量”。本题是在销售表上建立后触发器,需要执行的是插入语句。故可推导出第一空处应填写销售表,第二空处应填写INSERT。
    根据触发器语法规则知,AS是触发器要执行的操作。本题要求的是更新商品表中的销售总量。更新语句采用UPDATE关键字,其语法格式为:UPDATE表名SET语句。因此第三空处应填写UPDATE,第四空处应填写SET,第五空处应填写商品表.销售总量。
本题中,是使用INSERT和UPDATED关键字对商品表进行操作,因此影响的是INSERT-ED表的内容。故第六空处应填写INSERTED。
转载请注明原文地址:https://kaotiyun.com/show/D2lZ777K
0

最新回复(0)