-
CASE表达式实现基于条件逻辑来返回一个值
我们在开发过程中,经常需要针对一列,基于条件逻辑来返回一个值,那么,这时候就需要使用到CASE表达式了。例如,以下对Products表的查询就在SELECT语句中使用了CASE表达式,以生成用于描述categoryid列取值的信息...
数据库操作教程 2022-09-23 17:54:51 -
Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环
用游标,和WHILE可以遍历您的查询中的每一条记录并将要求的字段传给变量进行相应的处理==================DECLARE@A1VARCHAR(10),@A2VARCHAR(10),@A3INTDECLARECURSORYOUCURNAMEFORSELECTA1,A2,A3FROMYOUTABLENAMEOPENYOUCURNAMEfetchnextfromyoucurnameinto@a1,@a2,@a3while@@fetch_status<>-1beginupdate…set…-a3where………您要执行的操作写在这里fetchnextfromyoucurnameinto@a1,@a2,@a3endcloseyoucurnamedeallocateyoucurname—————————————在应用程序开发的时候,我们经常可能会遇到下面的应用,我们会通过查询数据表的记录集,循环每一条记录,通过每一条的记录集对另一张表进行数据进行操作,如插入与更新,我们现在假设有一个这样的业务:老师为所在班级的学生选课,选的课程如有哲学、马克思主义政治经济学、毛泽东思想...
数据库操作教程 2022-09-23 17:53:26 -
查询Sqlserver数据库死锁的一个存储过程分享
使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁,死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉。利用sp_who_lock这个存储过程,可以很方便的知道哪个进程出现了死锁,出现死锁的问题在哪里.创建sp_who_lock存储过程CREATEproceduresp_who_lockasbegindeclare@spidintdeclare@blkintdeclare@countintdeclare@indexintdeclare@locktinyintset@lock=0createtable#temp_who_lock(idintidentity(1,1),spidint,blkint)if@@error<>0return@@errorinsertinto#temp_who_lock(spid,blk)select0,blockedfrom(select*frommaster..sysprocesseswhereblocked>0)awherenotexists(select*frommas...
数据库操作教程 2022-09-23 17:47:30 -
一个统计表每天的新增行数及新增存储空间的功能
使用文中提供的代码做一个统计表每天的新增行数及新增存储空间的功能实现步骤如下:1.创建表创建表,存储每天的表空间占用情况CREATETABLE[dbo]...
数据库操作教程 2022-09-23 17:45:50 -
Transactionalreplication(事务复制)详解之如何跳过一个事务
在transactionalreplication,经常会遇到数据同步延迟的情况。有时候这些延迟是由于在publication中执行了一个更新,例如updatetasetcol=?Where?,这个更新包含巨大的数据量...
数据库操作教程 2022-09-23 17:38:49 -
在sqlServer自定义一个用户定义星期函数
文件:.wmv;大小:19,535KB;长度:00:26:39。下载地址:SqlFunction_udf_Week.rar以下内容于20120105更新:2012年刚到,开发的软件使用这个函数发现bug...
数据库操作教程 2022-09-23 17:38:32 -
图文教程mssqlserver数据库导出到另外一个数据库的方法
下文通过图文并茂的方式给大家介绍mssqlserver数据库导出到另外一个数据库的方法,具体详情请看下文。1.准备源数据库,找到想要导出的数据库,右键选择"任务"再选择"导出数据"2.设置源数据库信息 3.设置目标数据库,导出到的数据库信息 4.设置要复制的数据这里有两大类,一是直接复制某些表,二是根据sql查询出的指定数据复制某些表的话选择第一项,之后选择要复制的表,选择之后点击"完成"按钮即可开始复制数据从源数据库到目标数据库选择第二个的话,需要提供sql以获取复制的数据集以上所述是小编给大家介绍的mssqlserver数据库导出到另外一个数据库的方法,希望大家喜欢...
数据库操作教程 2022-09-23 17:36:41 -
一个函数解决SQLServer中bigint转int带符号时报错问题
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。现在监控日志数据量非常大(亿级别)需要对数据按每小时、每天进行聚合,供在线报表使用...
数据库操作教程 2022-09-23 17:35:06 -
SQLServer导入导出数据时最常见的一个错误解决方法
现在建站主要使用的还是ASP与PHP,这两种语言一般使用的数据库分别为SQLServer和mysql,这两种数据库各有各长处,也说不上谁好谁坏,看个人习惯了。SQLServer导入和导出向导的作用是将数据从源复制到目标...
数据库操作教程 2022-09-23 17:34:35 -
SQLServer中使用SQL语句实现把重复行数据合并为一行并用逗号分隔
一.定义表变量复制代码代码如下:DECLARE@T1table(UserIDint,UserNamenvarchar(50),CityNamenvarchar(50));insertinto@T1(UserID,UserName,CityName)values(1,'a','上海')insertinto@T1(UserID,UserName,CityName)values(2,'b','北京')insertinto@T1(UserID,UserName,CityName)values(3,'c','上海')insertinto@T1(UserID,UserName,CityName)values(4,'d','北京')insertinto@T1(UserID,UserName,CityName)values(5,'e','上海')select*from@T1-----最优的方式SELECTCityName,STUFF((SELECT','+UserNameFROM@T1subTitleWHERECityName=A.CityNameFORXMLPATH('')),1,1,'')ASAF...
数据库操作教程 2022-09-23 17:34:05 -
SQL优化基础使用索引(一个小例子)
按照本文操作和体会,会对sql优化有个基本最简单的了解,其他深入还需要更多资料和实践的学习:1.建表:复制代码代码如下:createtablesite_user(idintIDENTITY(1,1)PRIMARYKEY,[name]varchar(20),codevarchar(20),datedatetime)2.插入8万条数据复制代码代码如下:declare@mintset@m=1while@m<80000beginINSERTINTO[demo].[dbo].[site_user]([name],[code],date)VALUES('name'+CAST(@mASVARCHAR(20)),'code'+CAST(@mASVARCHAR(20)),GETUTCDATE())select@m=@m+1END--小技巧:推荐使用类似sqlassist的工具来提高敲写sql语句的速度3.设置打开一些参数的设置复制代码代码如下:SETSTATISTICSIOon--查看磁盘IOsetstatisticstimeon--查看sql语句分析编译和执行时间SELECT*FROMsite_...
数据库操作教程 2022-09-23 17:31:53 -
SQL比较一个集合是否在另一个集合里存在的方法分享
复制代码代码如下:DECLARE@cINTDECLARE@c2INTSELECT@c=COUNT(1)FROMdbo.SplitToTable('1|2|3|4','|')SELECT@c2=COUNT(1)FROMdbo...
数据库操作教程 2022-09-23 17:28:43