我在MYSQL 2008工作,我创建了一个简单的表:
create table Productos (
nombre char (30),
size int,
nota char (40))
我需要为插入创建一个触发器。当我插入值时,我只需要提供nombre
的值,size
和nota
需要NULL
。
如果插入的nota
为size
,则触发器需要填充> 50
,需要使用单词mayor
填充列,如果是< 50
使用menor
一词。
这就是我的尝试:
CREATE TRIGGER Inserta
ON Productos
for INSERT
AS
BEGIN
IF EXISTS(
SELECT NULL
FROM Productos
)
Begin
UPDATE Productos
SET nota =
CASE
WHEN (select size
from inserted ) > 50
THEN 'Mayor'
Else 'Menor'
END
from
inserted
End
End
这会改变所有列的值,而不仅仅是插入的列。我是新手,我很困惑。
任何人都可以启发我吗?
答案 0 :(得分:0)
CREATE TRIGGER Inserta BEFORE INSERT on Productos
SET nota = CASE WHEN new.size > 50 THEN 'Mayor' Else 'Menor' END;