-
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 -
在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 -
sqlserver游标使用步骤示例(创建游标关闭游标)
游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据...
数据库操作教程 2022-09-23 16:46:05 -
查找sqlserver查询死锁源头的方法sqlserver死锁监控
查找出SQLServer的死锁和阻塞的源头--查找出SQLServer死锁和阻塞的源头复制代码代码如下:usemastergodeclare@spidint,@blintDECLAREs_curCURSORFORselect 0,blockedfrom(select*fromsysprocesseswhere blocked>0)awherenotexists(select*from(select*fromsysprocesseswhere blocked>0)bwherea.blocked=spid)unionselectspid,blockedfromsysprocesseswhere blocked>0OPENs_curFETCHNEXTFROMs_curINTO@spid,@blWHILE@@FETCH_STATUS=0beginif@spid=0select'引起数据库死锁的是:'+CAST(@blASVARCHAR(10))+'进程号,其执行的SQL语法如下'elseselect'进程号SPID:'+CAST(@sp...
数据库操作教程 2022-09-23 16:46:04 -
sqlserver数据库获取数据库信息
MSSQLSERVER获取当前数据库文件等信息,适用于多个版本:复制代码代码如下:SELECTdbf.file_idASFileID ,dbf...
数据库操作教程 2022-09-23 16:46:00 -
使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
1)创建配置文件和帐户(创建一个配置文件和配置数据库邮件向导,用以访问配置数据库邮件管理节点中的数据库邮件节点及其上下文菜单中使用的帐户。) 打开数据库服务器------管理-------数据库邮件------右键---配置数据库邮件(同时也可以看到管理已经配置好的邮件账户和配置文件) 这里的配置文件名,在使用sp_send_dbmail时会作为参数使用点“添加” 其中,账户名可以任意指定(描述功能即可),重点是邮件发送服务器(SMTP)的配置:电子邮件地址为发送方邮件地址,显示名称为发送方名称,答复电子邮件(可以同电子邮件地址相同),服务器名称为服务器发送服务器(eg:QQ的为smtp.exmail.qq.com)端口号不变;SMTP身份验证:基本身份验证(配置自己的邮件发送方地址和密码)...
数据库操作教程 2022-09-23 16:45:51 -
SqlServer2000、2005分页存储过程整理第1/3页
sqlserver2005的分页存储过程分3个版本,一个是没有优化过的,一个是优化过的,最后一个支持join的,sqlserver2000的分页存储过程,也可以运行在sqlserver2005上,但是性能没有sqlserver2005的版本好。在最后我还附带了一个二分法的分页存储过程,也很好用的说哈~~1.SqlServer2005:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEproc[dbo].[up_Page2005]@TableNamevarchar(50),--表名@Fieldsvarchar(5000)='*',--字段名(全部字段为*)@OrderFieldvarchar(5000),--排序字段(必须!支持多字段)@sqlWherevarchar(5000)=Null,--条件语句(不用加where)@pageSizeint,--每页多少条记录@pageIndexint=1,--指定当前为第几页@TotalPageintoutput--返回总页数asbeginBeginTran--开始事务Declare@sqlnvarch...
数据库操作教程 2022-09-23 16:45:48