Ale*_*o93 3 t-sql sql-server heidisql
我正在SQL Server上使用HeidiSQL,试图创建一个插入后触发器,这是代码。
CREATE TRIGGER TR_After_Insert_User ON User1 AFTER INSERT
AS
BEGIN
    declare @userName varchar(24)
    declare @userLName varchar(20)
    declare @userSex varchar(10)
    select @userName = i.name from inserted i
    select @user1LName = i.lastname from inserted i
    select @userSex = i.gender from inserted i
    IF @userSex = 'Male'
       @userSex = 'M'
    ELSE
        @userSex = 'F'
    INSERT INTO db2.dbo.user2(name, lastname, gender) 
    VALUES (@legajoName, @legajoName, @legajoSexo)
END
我得到的错误:
'@userSex'附近的语法不正确
我已经尝试过不使用IF语句的情况,并且可以正常工作,所以问题就在那里。但是我需要那句话,因为第二个表中的“性别”字段是“字符”类型。
您错过了SET:
IF @userSex = 'Male'
   SET @userSex = 'M'
ELSE
   SET @userSex = 'F'
在SQL中,这是为变量分配值的无效语法: @userSex = 'M'。
参考
将先前使用DECLARE @local_variable语句创建的指定局部变量设置为给定值。
设置{{@ @local_variable =表达式}
| 归档时间: | 
 | 
| 查看次数: | 1724 次 | 
| 最近记录: |