【发布时间】:2015-03-20 23:50:29
【问题描述】:
我有一张这样的桌子:
|---------------PLAYERS-----------------|
| ID | NAME | GAMES | BUTTON | OPPONENT |
|---------------------------------------|
| 50 | BOB | 00345 | RED | BIM |
| 10 | JOHN | 00001 | YELLOW | ALI |
| 01 | ALI | 00002 | GREEN | JOHN |
http://sqlfiddle.com/#!2/93cc5/2
我需要一个 TRIGGER 或 PROCEDURE,当新行在“BUTTON”列中包含单词“YELLOW”或“RED”时,我想通过仅更改一些值来复制最后一行。
示例:
我有这个新行要写:
| 51 | JOHN | 00001 | YELLOW | MIKE |
使用“黄色”按钮,我希望 sql 先插入该行,然后插入这样的新行(对手列为 NULL):
| 52 | JOHN | 00002 | YELLOW | NULL |
还有这样一排(麦克是第一排的对手):
| 53 | MIKE | 00851 | YELLOW | NULL |
如何做到这一点?
【问题讨论】:
-
过去的行如何进入
inserted表?我错过了什么? -
亲爱的@Raj,我删除了不起作用的代码。我在 Stack 上显然知道该怎么做,也许像你这样的人用不同的想法启发了我。
-
看看 INSTEAD OF 触发器:technet.microsoft.com/en-us/library/ms175089(v=sql.105).aspx
标签: sql-server tsql stored-procedures triggers sql-server-2012