sql 触发器 子查询返回的不止一个值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 触发器 子查询返回的不止一个值相关的知识,希望对你有一定的参考价值。
ALTER TRIGGER 班级表人数添加
ON dbo.学生信息表
FOR insert
AS
begin
declare
@人数 int,
@班级编号 int
set @班级编号=(SELECT 班级编号 FROM inserted)
set @人数=(SELECT COUNT(学生信息表.学号) FROM 学生信息表 INNER JOIN 班级表 ON 学生信息表.班级编号 = 班级表.班级编号
WHERE (学生信息表.班级编号 =@班级编号))
update 班级表 set 人数=@人数 where 班级编号=@班级编号
end
---------------------
当我批量导入数据的时候出现子查询返回的不止一个值,单独插入一条数据不会有问题
下面的~不可以~还是不行,在数据库里面导入可以~通过我的程序导入就不可以了~
ALTER TRIGGER 班级表人数添加
ON dbo.学生信息表
FOR insert
AS
begin
update a set a.人数=b.人数
from 班级表 a,(select 班级编号,count(*) 人数 from inserted group by 班级编号) b
where a.班级编号=b.班级编号
end 参考技术A ALTER TRIGGER 班级表人数添加
ON dbo.学生信息表
FOR insert
AS
begin
declare @人数 int
declare @班级编号 int
set @人数=(SELECT COUNT(学生信息表.学号) FROM 学生信息表 INNER JOIN 班级表 ON 学生信息表.班级编号 = 班级表.班级编号
WHERE (学生信息表.班级编号 =@班级编号))
declare cur_wa cursor for
SELECT 班级编号 FROM inserted
open cur
fetch next from cur into @班级编号
while @@fetch_status=0
begin
update 班级表 set 人数=@人数 where 班级编号=@班级编号
fetch next from cur
end
close cur
end
你试一试!
sqlserver 表 无法更新和删除 子查询返回的值不止一个
这是语句
delete from khppzd
where KHPPZD_XTDWBH is null
and KHPPZD_KHMC not like '%非协议%'
and KHPPZD_JS in('1','2')
这是错误提示
消息 512,级别 16,状态 1,过程 khppzd_update,第 19 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。
无法删除和更新,select正常,请大神指点
这个delete语句和错误提示的khppzd_update有啥关系?又没有子查询...
应该是其它地方的问题,再检查一下“过程 khppzd_update,第 19 行子查询返回的值不止一个”
祝你成功!
以上是关于sql 触发器 子查询返回的不止一个值的主要内容,如果未能解决你的问题,请参考以下文章