-
浅析Sqlserver锁,独占锁,共享锁,更新锁,乐观锁,悲观锁
锁有两种分类方法。(1)从数据库系统的角度来看锁分为以下三种类型:•独占锁(ExclusiveLock)独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受...
数据库操作教程 2022-09-23 16:47:14 -
SQLServer优化50法汇总
查询速度慢的原因很多,常见如下几种:1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2.I/O吞吐量小,形成了瓶颈效应。3.没有创建计算列导致查询不优化...
数据库操作教程 2022-09-23 16:47:10 -
Sqlserver表类型和表变量介绍
表类型可以用在存储过程中,用于批量增加表类型定义:复制代码代码如下:CREATETYPEdbo.SubCardTableastable ( [SC_ID][varchar](50), [ZhuKaInfo_ID][varchar](50), [Project_KeyName][varchar](50), [SC_CardNumber][varchar](50), [Statues][int]DEFAULT0, [SC_AddTime][datetime], [SC_AddPerson][varchar](50), [SC...
数据库操作教程 2022-09-23 16:47:00 -
sqlserver自动生成拼音首字母的函数
建立一个查询,执行下面的语句生成函数fn_GetPy复制代码代码如下:--生成拼音首码CREATEfunctionfn_GetPy(@strnvarchar(4000))returnsnvarchar(4000)--WITHENCRYPTIONasbegindeclare@intLenintdeclare@strRetnvarchar(4000)declare@tempnvarchar(100)set@intLen=len(@str)set@strRet=''while@intLen>0beginset@temp=''select@temp=casewhensubstring(@str,@intLen,1)>='帀'then'Z'whensubstring(@str,@intLen,1)>='丫'then'Y'whensubstring(@str,@intLen,1)>='夕'then'X'whensubstring(@str,@intLen,1)>='屲'then'W'whensubstring(@str,@intLen,1)>='他'then'T...
数据库操作教程 2022-09-23 16:46:59 -
sqlserver的一个有趣的bit位运算分享
sqlserver中没有bool类型,而是用bit类型来表示bool值,估计是为了节省存储空间。可是要想实现取反操作似乎就麻烦写了,比如类似下面这样的语句是不行的:updatecategorysetvisible=notvisiblewhereid=1,因为visible是bit类型,而不是bool类型...
数据库操作教程 2022-09-23 16:46:58 -
SQLSERVER根据地图经纬度计算距离差示例
SQLSERVER根据地图经纬度计算距离的公式复制代码代码如下:go--创建经纬度距离计算函数CREATEFUNCTION[dbo].[fnGetDistance]--LatBegin开始经度--LngBegin开始维度(@LatBeginREAL,@LngBeginREAL,@LatEndREAL,@LngEndREAL)RETURNSFLOATASBEGIN--距离(千米)DECLARE@DistanceREALDECLARE@EARTH_RADIUSREALSET@EARTH_RADIUS=6378...
数据库操作教程 2022-09-23 16:46:55 -
SQLServer常用存储过程及示例
分页:复制代码代码如下:/*分页查找数据*/CREATEPROCEDURE[dbo].[GetRecordSet]@strSqlvarchar(8000),--查询sql,如select*from[user]@PageIndexint,--查询当页号@PageSizeint--每页显示记录ASsetnocountondeclare@p1intdeclare@currentPageintset@currentPage=0declare@RowCountintset@RowCount=0declare@PageCountintset@PageCount=0execsp_cursoropen@p1output,@strSql,@scrollopt=1,@ccopt=1,@rowcount=@rowCountoutput--得到总记录数select@PageCount=ceiling(1.0*@rowCount/@pagesize)--得到总页数,@currentPage=(@PageIndex-1)*@PageSize+1select@RowCount,@PageCountexecsp_cu...
数据库操作教程 2022-09-23 16:46:51 -
用SQL脚本读取Excel中的sheet数量及名称的方法代码
复制代码代码如下:--Gettable(worksheet)orcolumn(field)listingsfromanexcelspreadsheet --设置变量 declare@linkedServerNamesysname='TempExcelSpreadsheet' declare@excelFileUrlnvarchar(1000)='D:text.xlsx' --/SET --删除链接服务(如果它已经存在) ifexists(selectnullfromsys...
数据库操作教程 2022-09-23 16:46:48 -
sum(casewhenthen)(判断男女生的个数)
判断类似一个班级的男生和女生的人数,用sum(cesewhenthen)复制代码代码如下:selectcount(er.execute_result),sum(caseer...
数据库操作教程 2022-09-23 16:46:40 -
insertintoselect和selectinto的使用和区别介绍
insertinto...select...:可将表1中的全部数据或者部分数据复制到表2中。eg:复制代码代码如下:insertintot2(id,name,pwd)selectid,name,pwdfromt1注:t2必须存在...
数据库操作教程 2022-09-23 16:46:36 -
在SQLServer中使用命令调用SSIS包的具体方法
具体操作步骤如下:1.首先,当然是要在BusinessIntelligence中设计好包,并调试通过。2.然后,有两种方式可以在SQLServer中使用命令运行SSIS包第一种是直接执行ssis包文件,命令如:execxp_cmdshell'dtexec/f"c:test.dtsx"'第二种是将包文件发布或者导入到IntegrationServices服务中,然后再执行...
数据库操作教程 2022-09-23 16:46:18 -
SQLServer比较日期大小的方法
在机房收费系统中,有几处这样的情况:起始日期和终止日期,相信聪明的你肯定可以想象出为什么要有两个日期控件!是的,就是从一张表中查找出在这两个日期范围类的记录!有的人就说了,这还不简单!假如我们将第一个控件定义成Begin,第二个控件定义成Over!那么查询语句不就是复制代码代码如下:"select*fromrecharge_infowheredate<'"&over.value&"'anddate>'"&begin.value&"'" 这有什么难的!但是,事实并不是这么简单的,如果查询语句像这样写的话,你是肯定查找不出来的,那么我们到底该怎能在SQLServer中来比较两个日期的大小呢?这里我们就要借用CONVERT()函数了CONVERT()函数是把日期转换为新数据类型的通用函数。CONVERT()函数可以用不同的格式显示日期/时间数据...
数据库操作教程 2022-09-23 16:46:14