就是当在employee表中插入和更新数据时,
让插入数据的地址字段为大写,
照着《SQL必知必会》上写的,
为什么会出现错误呢
CREATE TRIGGER employee_address
ON employee
FOR INSERT,UPDATE
AS
UPDATE employee
SET address=UPPER(address)
WHERE employee.firstname=inserted.firstname;
错误提示如下:
服务器: 消息 107,级别 16,状态 2,过程 employee_address,行 5
列前缀 'inserted' 与查询中所用的表名或别名不匹配。求指教
让插入数据的地址字段为大写,
照着《SQL必知必会》上写的,
为什么会出现错误呢
CREATE TRIGGER employee_address
ON employee
FOR INSERT,UPDATE
AS
UPDATE employee
SET address=UPPER(address)
WHERE employee.firstname=inserted.firstname;
错误提示如下:
服务器: 消息 107,级别 16,状态 2,过程 employee_address,行 5
列前缀 'inserted' 与查询中所用的表名或别名不匹配。求指教
SET address=UPPER(address)
from employee ,inserted
WHERE employee.firstname=inserted.firstname;
但是出现新错误:服务器: 消息 209,级别 16,状态 1,过程 employee_address,行 5
列名 'address' 不明确。
ON employee
FOR INSERT,UPDATE
AS
UPDATE employee
SET address=UPPER(address)
FROM employee,inserted
WHERE employee.firstname=inserted.firstname;这个出现错误,
服务器: 消息 209,级别 16,状态 1,过程 employee_address,行 5
列名 'address' 不明确。
要怎么改呢,
改成 SET inserted.address=UPPER(inserted.address)
也不行,正确的要怎么写呢
ON employee
FOR INSERT,UPDATE
AS
UPDATE employee
SET employee.address=UPPER(employee.address)
FROM employee,inserted
WHERE employee.firstname=inserted.firstname;
ON employee
FOR INSERT,UPDATE
AS
UPDATE employee
SET address=UPPER(i.address)
FROM employee,inserted i
WHERE employee.firstname=i.firstname;
ON employee
FOR INSERT,UPDATE
AS
UPDATE employee
SET address=UPPER(address)