0

我在 MYSQL 2008 中工作,我创建了一个简单的表:

create table Productos (
nombre char (30),
size int,
nota char (40))

我需要为插入创建一个触发器。当我插入值时,我只需要为 提供值nombresize并且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

这改变了所有列的值,而不仅仅是插入的列。我是这方面的新手,我很困惑。

任何人都可以启发我吗?

4

1 回答 1

0
CREATE TRIGGER Inserta BEFORE INSERT on Productos
SET nota = CASE WHEN new.size > 50 THEN 'Mayor' Else 'Menor' END;
于 2013-07-18T21:01:20.183 回答