子查询返回的值不止一个。当子查询跟随在 =、!=、、=、、= 之后,或子查询用作表达式时,这种情况是不允许的。...
刚开始仿照前辈的触发器,写了一个这样的触发器:
![](/assets/blank.gif)
![](/assets/blank.gif)
declare@IDint
declare@useridint
declare@statusnchar(40)
select@ID= (select acon_acontractid from inserted)
select@userid= (select i.acon_userid from inserted i,deleted d where i.ACon_AContractID=d.ACon_AContractID and (i.acon_userid<>d.acon_userid or i.acon_userid isnotnulland d.acon_userid isnull))
select@status= (select i.acon_status from inserted i,deleted d where i.ACon_AContractID=d.ACon_AContractID and (i.acon_status<>d.acon_status or i.acon_status isnotnulland d.acon_status isnull))
--当插入的数据的是当前处理人或者是状态时
if(@useridisnotnullor@statusisnotnull)
begin
update acontract set acon_submittime =getdate() where acon_acontractid=@ID
end
这样写触发器。有个问题,update数据的时候,如果是多条记录一起更新的话,那么 select acon_acontractid from inserted 返回的是一个数据集。
就会报错,错误如标题。
修正:
判断的时候尽量采用 if exists 或者 if upate() 之类的语法。
在执行操作的时候就使用 【in】操作符,就id可以 等于一个结果集了。
修改如下:
![](/assets/blank.gif)
![](/assets/blank.gif)
begin
update acontract set acon_submittime =getdate() where acon_acontractid in (select acon_acontractid from inserted)
end
ifupdate (acon_status)
begin
update acontract set acon_submittime =getdate() where acon_acontractid in (select acon_acontractid from inserted)
end
测试ok。
转载于:https://www.cnblogs.com/novus/archive/2010/02/08/1666060.html
子查询返回的值不止一个。当子查询跟随在 =、!=、、=、、= 之后,或子查询用作表达式时,这种情况是不允许的。...相关推荐
- 思迅软件PDA 3900 BUG 代码:05FF 子查询返回的值不止一个。当子查询跟随在 之后,或子查询用作表达式时
主程序:思迅商锐9.5 PDA 3900 服务端版本 1.1 事件类型:PDA查询报表 查询商品档案时 返回上图错误 代码:05FF 子查询返回的值不止一个.当子查询跟随在 =.!=.<.< ...
- mysql 查询 更新属性值_MySQL-在一个查询中更新具有不同值的多行
我试图了解如何用不同的值更新多行,但我不明白.解决方案无处不在,但对我来说似乎很难理解. 例如,将三个更新更新为1个查询: UPDATE table_users SET cod_user = '622 ...
- oracle单行子查询返回多个行 order by,单行子查询返回多个行
子查询: 用子查询能解决的问题 假想你想要写一个查询来找出挣钱比陆涛的薪水还多的人.为了解决这个问题,你需要两个查询:一 个找出陆涛的收入,第二个查询找出收入高于陆涛的人. 你可以用组合两个查询的方法 ...
- JdbcTemplate(操作数据库-查询返回值)
目录 JdbcTemplate(操作数据库-查询返回值) 1.创建数据库 2.创建实体类 3.创建dao层 4.创建service层 5.创建测试类: 6.xml配置 7.测试结果: 8.结构示意: ...
- sql嵌套查询返回多个字段_list4 SQL复杂查询
子查询返回结果形式不同: 标量子查询(结果集只有一行一列) 列子查询(结果集只有一列多行) 行子查询(结果集有一行多列) 表子查询(结果集一般为多行多列) 子查询在主查询中出现的位置不同: selec ...
- python字典返回键值对列表_返回列表Python dict dictionaries Python 数据结构——字典 返回列表...
最近研究返回列表,稍微总结一下,以后继续补充: 字典是比列表更先进的一种内置数据结构. "字典"就像现实中的字典一样,每一个单词对应好几个意思.在Python面里就是每一个键对应一 ...
- vue 子组件调用父组件方法、值(父传子);父组件调用子组件方法、值(子传父)。
一.子组件调用父组件方法(父传子-方法) 场景:子组件是弹出框组件.当点击确定时,将新增的值增加到父组件的列表.就要调用父组件的getLIst()方法. 代码: //父组件 利用@子组件方法名=&qu ...
- 单行子查询返回多个行_sql多表查询练习,习题总结
组函数(聚合函数):组函数操作行集,给出每组的结果.组函数不象单行函数,组函数对行的集合进行操作,对每组给出一个结果.这些集合可能是整个表或者是表分成的组. 组函数和单行函数的区别: 单行函数对查询到 ...
- c语言子查询返回子菜单,T-SQL基础(三)之子查询与表表达式
子查询 在嵌套查询中,最外面查询结果集返回给调用方,称为外部查询.嵌套在外部查询内的查询称为子查询,子查询的结果集供外部查询使用. 根据是否依赖外部查询,可将子查询分为自包含子查询和相关子查询.自包含 ...
最新文章
- 金山发布《2006年度信息安全报告》
- 从 Dropdown 的 React 实现中学习到的
- android p wifi一直在扫描_Android再次解读萤石云视频
- 【虚拟化】支持IDE/SATA/SCSI
- Numpy Scalars(标量)
- 务必了解的跨境电商ERP独立部署!
- Go 能拯救已经失败的可视化编程?
- 算法导论第三版第六章 答案
- IEC 60335标准介绍
- Charle分析实战
- 马云创业过程中的10次失败(转)
- 《零秒工作》的一些总结
- lilo是什么意思_Lilo_英文名Lilo是什么意思
- 如何把小米和计算机共享,小米随身Wifi如何让手机共享电脑文件 小米wifi共享电脑文件教程...
- 自从用了这款黑科技工具,妈妈再也不用担心我的c盘文件爆满了
- Nagios汉化页面
- Mixly 数码管时钟实验
- 数据分析师八大能力之一:收集信息的能力
- shadow acne(阴影失真)和peter panning(阴影悬浮)
- 4款一眼万年的精品软件,免费又好用,可惜很多人不知道
热门文章
- 作业帮电脑版在线使用_互助作业帮PC版-互助作业帮电脑版下载 v4.5.8
- hough变换检测圆周_hough变换原理以及实现(转载)
- python读取fiddler_python3 使用Fiddler捕获的Raw信息带cookie使用GET或POST获取
- dockerfile的详细介绍
- sklearn中的正则化
- 【Nutch2.2.1基础教程之2.1】集成Nutch/Hbase/Solr构建搜索引擎之一:安装及运行【单机环境】
- 思维模型篇:四大战略分析工具
- python之Queue
- HTTP协议基础知识总结
- 聊聊高并发(二十)解析java.util.concurrent各个组件(二) 12个原子变量相关类