-
浅析Sqlserver锁,独占锁,共享锁,更新锁,乐观锁,悲观锁
锁有两种分类方法。(1)从数据库系统的角度来看锁分为以下三种类型:•独占锁(ExclusiveLock)独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受...
数据库操作教程 2022-09-23 16:47:14 -
浅谈mssqlaccess数据库top分页方法
但是有利也有弊,它要求排序字段必须构成唯一记录,且select后的字段列表中,不允许出现与排序字段同名的字段。虽然sql2k5及以上版本已经提供了rownum()来进行分页处理,但是使用sql2k进行开发的还是较多的复制代码代码如下:uusingsystem.collections.generic;singsystem;usingsystem.text;///<summary>///构造分页后的sql语句///</summary>publicstaticclasspaginghelper{ ///<summary> ///获取分页sql语句,排序字段需要构成唯一记录 ///</summary> ///<paramname="_recordcount">记录总数</param> ///<paramname="_pagesize">每页记录...
数据库操作教程 2022-09-23 16:47:10 -
SQLServer优化50法汇总
查询速度慢的原因很多,常见如下几种:1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2.I/O吞吐量小,形成了瓶颈效应。3.没有创建计算列导致查询不优化...
数据库操作教程 2022-09-23 16:47:10 -
浅析SQL存储过程和事务处理
在数据库编程中,事务是经常需要用到的技术,在.net平台上,事务处理是非常好用的,但是在SqlServer数据库的存储过程中如何使用事务来完成数据的批量操作呢?解决方案如下:大概都是这样处理的:复制代码代码如下:CREATEPROCRegisterUser(@usrNamevarchar(30),@usrPasswdvarchar(30),@ageint,@PhoneNumvarchar(20),@Addressvarchar(50))ASBEGINBEGINTRAN--显示定义并开始一个事务SETXACT_ABORTON--表示遇到错误立即回滚INSERTINTOUSER(userName,userPasswd)values(@usrName,@usrPasswd)IF@@error<>0 --发生错误BEGIN ROLLBACKTRANSACTION RETURN0ENDELSEBEGIN COMMITTRANSACTION RETURN1  ...
数据库操作教程 2022-09-23 16:47:04 -
sql使用cast进行数据类型转换示例
@num=1;把num类型转成nvarchar类型cast(@numasnvarchar(10))@str='123';把str转换成int类型cast(@strasint)...
数据库操作教程 2022-09-23 16:47:02 -
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 -
sql中设置联合主键的具体方法
复制代码代码如下:ALTERTABLE表名字ADDCONSTRAINTpk_表名字PRIMARYKEY(SNumber,SDate);SNumberSDate必须不能为空字段...
数据库操作教程 2022-09-23 16:46:55 -
SQL多表连接查询实例分析(详细图文)
新建两张表:表1:student 截图如下:表2:course 截图如下:(此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)一、外连接外连接可分为:左连接、右连接、完全外连接...
数据库操作教程 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