【发布时间】:2016-02-25 09:43:41
【问题描述】:
我正在尝试创建一个触发器,当数据库中有更新/插入时,将创建/更新列中的数据。我有一个名为topic 的列,它应该填充来自其他列的值。我可以使用select 语句填充topic 列,但我不确定触发器中的语法如何获得相同的结果。
这是我的SELECT 声明:
select
name, city, topic,
name + ' - ' + city + ' - '+
CASE
WHEN new_car = 'yes' THEN 'Car,' ELSE ''
END +
CASE
WHEN new_bus = 'yes' THEN 'TBus,' ELSE ''
END +
CASE
WHEN new_bike = 'yes' THEN 'Bike,'ELSE ''
END +
CASE
WHEN new_train = 'yes' THEN 'Train,' ELSE ''
END +
CASE
WHEN new_truck = 'yes' THEN 'Truck,' ELSE ''
END +
CASE
WHEN new_boat = 'yes' THEN 'Boat,'ELSE ''
END +
CASE
WHEN new_walk = 'yes' THEN 'Walk,' ELSE ''
END +
CASE
WHEN new_motorbike = 'yes' THEN 'Motor Bike, ' ELSE ''
END AS topic
from
dbo.myTableView
谢谢
编辑 1:
上面的SELECT 语句使用VIEW 进行查询,但实际查询的列来自不同的表。
表1(主题表):
name|topic|new_car|new_bus|new_bike|new_train|new_truck|new_boat|new_walk|new_motorbike
表2(地址表):
street1|street2|street3|city|state|zipcode|country
【问题讨论】:
标签: sql triggers sql-server-2012