使用默认值填充列

时间:2013-07-18 20:50:44

标签: mysql

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

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

我需要为插入创建一个触发器。当我插入值时,我只需要提供nombre的值,sizenota需要NULL

如果插入的notasize,则触发器需要填充> 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

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

任何人都可以启发我吗?

1 个答案:

答案 0 :(得分:0)

CREATE TRIGGER Inserta BEFORE INSERT on Productos
SET nota = CASE WHEN new.size > 50 THEN 'Mayor' Else 'Menor' END;