-
sql分类汇总及Select的自增长脚本
如图:其中Num是自增长列,Operation是分类标签,count是汇总数据脚本如下:复制代码代码如下:selectNum=row_number()OVER(orderBYHT_Resv.OperationStatus),HT_Resv...
数据库操作教程 2022-09-23 17:14:20 -
自动清理MSSQLServerTableCollation问题的解决方法
在一个团队项目中,没有约定好Collation,在MSSQLServer中编程就会遇到这样的问题:Cannotresolvethecollationconflictbetween"Latin1_General_CI_AS"and"SQL_Latin1_General_CP1_CI_AS"intheequaltooperation.因为编码问题,不同编码的字符串并不能直接进行比较,这种有两个解决方法,1是在query中指定用某一个collation进行比较,另外一个就是修改column的collationtype来避免这种错误。第二种方法,一个一个column改起来很累,写了个script,除了被当作constraints比如primarykey,foreignkey之外的varchar,char,nvarchar都可以统一修改成一个collation…完整sql代码:复制代码代码如下:declare@CollationNamevarchar(500);set@CollationName='SQL_Latin1_General_CP1_CI_AS'createtable#tmp(sqlS...
数据库操作教程 2022-09-23 17:07:58 -
sqlserver中delete、update中使用表别名和oracle的区别
昨天发现程序中数据分析的结果不对,重新进行分析后,原数据仍在,有值的字段被累计。心说,不对啊,是重新生成记录后才分析的啊...
数据库操作教程 2022-09-23 17:07:06 -
一条select语句引起的瓶颈问题思考
情境还原:公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。IIS服务器CPU使用率时常爆至80%-90%,导致网站频频出现连接超时...
数据库操作教程 2022-09-23 17:06:35 -
存储过程配合UpdateDaset方法批量插入Dataset数据实现代码
复制代码代码如下:publicboolSaveSMSMessage(SMSBatchsmsBatch,DataSetsmsMessages){//using(TransactionScopets=newTransactionScope(TransactionScopeOption.Suppress))//{foreach(DataRowrowinsmsMessages...
数据库操作教程 2022-09-23 17:06:08 -
SqlServer分组统计并合计总数及WITHROLLUP应用
WITHROLLUP在生成包含小计和合计的报表时,ROLLUP运算符很有用。ROLLUP运算符生成的结果集类似于CUBE运算符所生成的结果集...
数据库操作教程 2022-09-23 17:05:04 -
SQLServer误区30日谈第2天DBCCCHECKDB会导致阻塞
误区#2:DBCCCHECKDB会引起阻塞,因为这个命令默认会加锁这是错误的! 在SQLServer7.0以及之前的版本中,DBCCCHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并且….. 在SQLServer2000时代,一个叫SteveLindell的哥们(现在仍然在SQLServerTeam)使用分析事务日志的方法来检查数据库的一致性的方式重写了DBCCCHECKDB命令。DBCCCHECKDB会阻止截断日志...
数据库操作教程 2022-09-23 17:04:37 -
SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB
误区#27:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误 乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQLServer2000或是更早版本升上来的数据库pagechecksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP...WITHCHECKSUM就有可能导致一些损坏页不被发现,造成的后果…… 除此之外,还有一个问题是完整备份的时间间隔相对比较长,假如说一个月,而相对于DBCCCheckDB的最佳实践是一个礼拜,这导致WITHCHECKSUM不能替代CHECKDB...
数据库操作教程 2022-09-23 17:03:22 -
SQLServer误区30日谈第15天CheckPoint只会将已提交的事务写入磁盘
误区#15:CheckPoint只会将已提交的事务写入磁盘错误这个误区是由于太多人对日志和恢复系统缺少全面的了解而存在已久。CheckPoint会将自上次CheckPoint以来所有在内存中改变的页写回磁盘(译者注:也就是脏页),或是在上一个CheckPoint读入内存的脏页写入磁盘...
数据库操作教程 2022-09-23 17:00:27 -
sqlserver中ntext字段的批量替换(updatetext的用法)
一、问题描述:1。在SqlServer中,ntext/text/image字段不允许应用replace函数替换内容;2...
数据库操作教程 2022-09-23 16:57:15 -
SQLServer触发器表的特定字段更新时,触发Update触发器
复制代码代码如下:createtriggerTR_MasterTable_UpdateonMasterTableafterupdateasifupdate([Type])--当Type字段被更新时,才会触发此触发器insertintoMasterLogTableselectId,(Case[Type]when1then'Type1'when2then'Type2'when3then'Type3'when4then'Type4'else'TypeDefault'end),Namefrominsertedgo另外再补充一句:insert和update的数据都会保存在临时表中,所以使用inserted可以取出这些数据,删除时使用deleted可以取出被删除的数据转载请标明出处:http://blog.csdn...
数据库操作教程 2022-09-23 16:57:03 -
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
/*--1UNION运算符是将两个或更多查询的结果组合为单个结果集使用UNION组合查询的结果集有两个最基本的规则:1。所有查询中的列数和列的顺序必须相同...
数据库操作教程 2022-09-23 16:56:38