-
MSSQL报错:参数数据类型text对于replace函数的参数1无效的解决办法
但是我们可以换一种方法解决这个问题。下面就来分析下解决办法...
数据库操作教程 2022-09-23 17:38:28 -
SqlServer实现类似Oracle的before触发器示例
1.插入数据前判断数据是否存在SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:<Author,,Name>--Createdate:<CreateDate,,>--Description:<Description,,>--=============================================alterTRIGGERCategoryExistTriggerONProductCategoryinsteadofinsertASdeclare@categoryNamevarchar(50);BEGIN--SETNOCOUNTONaddedtopreventextraresultsetsfrom--interferingwithSELECTstatements...
数据库操作教程 2022-09-23 17:35:39 -
一个函数解决SQLServer中bigint转int带符号时报错问题
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。现在监控日志数据量非常大(亿级别)需要对数据按每小时、每天进行聚合,供在线报表使用...
数据库操作教程 2022-09-23 17:35:06 -
SQLServer中bigint转int带符号时报错问题解决方法
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。现在监控日志数据量非常大(亿级别)需要对数据按每小时、每天进行聚合,供在线报表使用...
数据库操作教程 2022-09-23 17:34:55 -
sql2000报错Successfullyre-openedthelocaleventlog解决方法
报错1:Unabletoreadlocaleventlog(reason:事件日志文件已在读取间更改。报错2:Successfullyre-openedthelocaleventlog-NOTE:Someeventsmayhavebeenmissed.微软解释:http://support.microsoft.com/default.aspx?scid=kb;en-us;811484解决办法:如果要防止错误日志,中出现这些消息可以使用跟踪标志2505作为启动参数要将跟踪标志2505作为SQLServer启动参数,使用以下步骤:1.企业管理器,右键单击服务器名称,依次属性...
数据库操作教程 2022-09-23 17:34:47 -
查询SQLServerIndex上次Rebuild时间的方法
朋友有一个RebuildIndex的Job执行一般停掉了,问我是否可以查看哪些Index已经被Rebuild过了。本来以为Sys.index或者Sys.objects会存储类似的信息,结果没有找到...
数据库操作教程 2022-09-23 17:32:14 -
SQLSERVER中关于exists和in的简单分析
In与Exists这两个函数是差不多的,但由于优化方案不同,通常NOTExists要比NOTIN要快,因为NOTEXISTS可以使用结合算法二NOTIN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。如图,现在有两个数据集,左边表示#tempTable1,右边表示#tempTable2...
数据库操作教程 2022-09-23 17:32:11 -
使用SQLServer判断文件是否存在后再删除(详解)
在SQLServer中可以使用系统内部存储过程xp_fileexist判断文件是否存在,如果存在再使用xp_cmdshell删除文件。xp_fileexist除了可以判断文件是否存在外,还可以判断文件夹是否存在,下面是下使用这两个的示例...
数据库操作教程 2022-09-23 17:30:10 -
EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表
刚开始时,这个表的字段很少(10个以内),前开发者把这个表的所有存储过程与触发器以及表函数全是写死了。用户每添加一些字段,都需要手动去更改这些存储过程与触发器以及表函数...
数据库操作教程 2022-09-23 17:30:05 -
sp_executesql使用复杂的Unicode表达式错误的解决方法
Msg102,Level15,State1,Line3Incorrectsyntaxnear'+'.当你尝试执行下面这段代码时,会得到如上这个错误提示。复制代码代码如下:DECLARE@MyNameNVARCHAR(100)DECLARE@FieldNameSYSNAME=N'Name'EXECUTEsp_executesqlN'SELECTTOP1@OutputName=['+@FieldName+']FROM[dbo].[Member]',N'@OutputNameNVARCHAR(100)OUTPUT',@MyNameOUTPUT;SELECT@MyName问题出于不允许使用更复杂的Unicode表达式(例如使用+运算符连接两个字符串)...
数据库操作教程 2022-09-23 17:28:34 -
SQLServerExecpt和notin性能区别
主要讲except和notin的性能上的区别。复制代码代码如下:CREATETABLEtb1(IDint)CREATETABLEtb2(IDint)BEGINTRANDECLARE@iINT=500WHILE@i>0beginINSERTINTOdbo.tb1VALUES(@i--v-int)SET@i=@i-1endCOMMIT我测试的时候tb1是1000,tb2是500复制代码代码如下:DBCCFREESYSTEMCACHE('ALL','default');SETSTATISTICSIOONSETSTATISTICSTIMEonSELECT*FROMtb1EXCEPTSELECT*FROMtb2;SELECT*FROMtb1WHEREidNOTIN(SELECTidFROMtb2);--得不到任何值SETSTATISTICSIOOFFSETSTATISTICSTIMEOFF执行计划:复制代码代码如下:SELECT*FROMtb1EXCEPTSELECT*FROMtb2;|--MergeJoin(RightAntiSemiJoin,MERGE:([master1].[dbo]...
数据库操作教程 2022-09-23 17:26:30