
MSSQL
凡尘俗事1
这个作者很懒,什么都没留下…
展开
-
在触发器里如何返回给用户一个提示信息
alter TRIGGER checkInvON dbo.InventoryINSTEAD OF INSERT,UPDATEASBEGIN DECLARE @invCode NVARCHAR(50) SELECT @invCode=cinvcode FROM inserted IF @invCode ='0104001' BEGIN DECLARE @msg NVARCHAR(50) SET @msg='存货编码为'+CONVER...原创 2022-03-03 14:47:17 · 615 阅读 · 0 评论 -
无法执行该操作,因为链接服务器 “XXX“ 的 OLE DB 访问接口 “SQLNCLI10“ 无法启动分布式事务
在存储过程中使用事务,并且使用链接服务器时,报以下错误:无法执行该操作,因为链接服务器 "XXX" 的 OLE DB 访问接口 "SQLNCLI10" 无法启动分布式事务。链接服务器"XXX"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "没有活动事务。解决方法:1、修改host设置,在C:\Windows\System32\drivers\etc\hosts 下,在两台服务器分别添加对方计算机的IP地址与计算机名称,如下: 对方计算机IP .原创 2022-02-15 22:31:43 · 8354 阅读 · 3 评论 -
sqlserver 中批量删除\r\n 换行符
从Excel中向sqlserver 中批量粘贴数据时 可能会粘贴进去换行符 \r\n 这时候在查询时候是看不见的 只有把该字段赋值到‘’中才能发现换行。批量替换语句:update [表名]set [字段名]=REPLACE([字段名], CHAR(13)+CHAR(10), '')例:UPDATE Customer SET ccuscode = REPLACE(ccuscode,CHAR(13)+CHAR(10),'')UPDATE Customer SET ccusName = R..原创 2021-09-09 14:25:47 · 477 阅读 · 0 评论 -
sql为数字添加千分位(也就是钱的格式)
Sql获取数字的千分位,就是将一个数字以三位,用逗号隔开,sql代码如下: (1)不带小数点:select reverse(stuff(reverse(convert(varchar,convert(money,1234333000),1)),1,3,'')) 这个是不带小数点的数字,如果强加了小数点,select的结果是没有小数点的,这个的结果是:1,234,333,000 (2)带小数点:select convert(varchar,cast(1215656100..原创 2021-07-17 12:16:20 · 6307 阅读 · 4 评论 -
SQL Server 如何创建触发器实现一张表数据更新时,同步增加、删除、修改另一张表的数据
一、触发器知识点摘要:实际应用中,我们经常会遇到在对SQLServer的某一张表进行增加、删除、修改操作时,需同步更新同一数据库或不同数据库的另一张表,此时我们可以使用SQLServer的表触发器来实现。使用触发器时,我们会用到触发器的两个临时虚拟表:Deleted表、Inserted表,它们用于存储【创建触发器表】的记录变动信息,即发生触发事件时对应的【一条旧记录】和【一条新记录】,各触发事件对应表数据如下:表触发事件 虚拟表Inserted 虚拟表Deleted ...原创 2021-06-30 16:36:41 · 20256 阅读 · 1 评论 -
SQL UPDATE JOIN ON 表连接更新
create table sale(id int,udid int,assid int)create table ud(id int,assid int)select * from saleselect * from udselect * from sale inner join ud on sale.id = ud.idupdate s set s.assid = ud.assidfrom sale s inner join ud on s.id = ud.i.原创 2021-05-26 12:17:10 · 1151 阅读 · 0 评论 -
SQL动态查询并返回结果
今天做了一个根据动态生成表明来查询相关结果的存储过程,由于表名是动态生成,因此使用了SQL Server的动态查询,函数sp_executesql。写篇博客已记录开发过程中遇到的问题,以备查询。需要统计的表是根据规则动态生成,格式如下:因此在这里考虑使用SQL提供的sp_executesql 函数,它可以执行动态的修改,查询,删除功能。该函数官方详细文档,如下:Sp_executesql:执行可以多次重复使用或动态生成的 Transact-SQL 语句或批处理。Transact-SQL 语.原创 2021-05-14 16:17:55 · 2434 阅读 · 0 评论 -
关于SQL最大值查询语句的记录
查出这个表中state值最大的业务对应的bsnum和state这两个字段的值SELECT bsnum, STATE AS FILE_STATEFROM FILE_RECORD rWHERE STATE =( SELECT MAX(STATE) FROM FILE_RECORD WHERE bsnum = r.bsnum );...原创 2021-05-20 23:53:31 · 297 阅读 · 0 评论