SQL SERVER 子查询返回的值不止一个。
CREATETRIGGERcheck_shippeddateONOrdersFORUPDATEASIF((SELECTshippedDateFROMinserted)>R...
CREATE TRIGGER check_shippeddate ON Orders
FOR UPDATE
AS
IF((SELECT shippedDate FROM inserted) > RequiredDate))
BEGIN
PRINT 'Order was shipped after the required date'
END
GO
我的IF有问题,要怎么修改呢?
当这个执行时
UPDATE Orders
SET ShippedDate = '1994-04-20'
WHERE OrderID = 11051
ANDCustomerID = 'LAMAI'
ANDEmployeeID = 7
就会PRINT 消息出来,因为日期比RequiredDate大 展开
FOR UPDATE
AS
IF((SELECT shippedDate FROM inserted) > RequiredDate))
BEGIN
PRINT 'Order was shipped after the required date'
END
GO
我的IF有问题,要怎么修改呢?
当这个执行时
UPDATE Orders
SET ShippedDate = '1994-04-20'
WHERE OrderID = 11051
ANDCustomerID = 'LAMAI'
ANDEmployeeID = 7
就会PRINT 消息出来,因为日期比RequiredDate大 展开
展开全部
IF((SELECT top 1 shippedDate FROM inserted) > RequiredDate))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加条件使其唯一
要不排序取第一条
看你需求是什么
要不排序取第一条
看你需求是什么
更多追问追答
追问
我补充了问题,麻烦看看
追答
不知道你想做什么?
Orders表里有shippedDate 和RequiredDate这个字段?
如果更新的shippedDate 比RequiredDate大就打印消息?
换个思路,如果有shippedDate 比RequiredDate的数据就打印
这样只要查询关联的数据的个数是否大于0就行了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询