-
SQL里面用自定义Split()完成个性化需求
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEfunction[dbo].[SplitString](@Inputnvarchar(max),@Separatornvarchar(max)=',',@RemoveEmptyEntriesbit=1)returns@TABLEtable([Id]intidentity(1,1),[Value]nvarchar(max))asbegindeclare@Indexint,@Entrynvarchar(max)set@Index=charindex(@Separator,@Input)while(@Index>0)beginset@Entry=ltrim(rtrim(substring(@Input,1,@Index-1)))if(@RemoveEmptyEntries=0)or(@RemoveEmptyEntries=1and@Entry<>'')begininsertinto@TABLE([Value])Values(@Entry)endset@Input=...
数据库操作教程 2022-09-23 17:06:07 -
AspNetPager分页控件存储过程
复制代码代码如下:SETQUOTED_IDENTIFIERONGOSETANSI_NULLSONGOALTERPROCEDUREusp_PagingLarge@TableNamesVARCHAR(200),--表名,可以是多个表,但不能用别名@PrimaryKeyVARCHAR(100),--主键,可以为空,但@Order为空时该值不能为空@FieldsVARCHAR(200),--要取出的字段,可以是多个表的字段,可以为空,为空表示select*@PageSizeINT,--每页记录数@CurrentPageINT,--当前页,0表示第1页@FilterVARCHAR(200)='',--条件,可以为空,不用填where@GroupVARCHAR(200)='',--分组依据,可以为空,不用填groupby@OrderVARCHAR(200)=''--排序,可以为空,为空默认按主键升序排列,不用填orderbyASBEGINDECLARE@SortColumnVARCHAR(200)DECLARE@OperatorCHAR(2)DECLARE@SortTableVARCHAR(200...
数据库操作教程 2022-09-23 17:00:37 -
SQL语句检测sp4补丁是否安装
selectserverproperty('productlevel')如果没有打过SP,则为RTM,否则显示的是SP版本。查看你当前版本号:SELECT@@VERSION结果是:MicrosoftSQLServer2000-8.00.194(IntelX86)Aug6200000:57:48Copyright(c)1988-2000MicrosoftCorporationPersonalEditiononWindowsNT5.1(Build2600:ServicePack3)...
数据库操作教程 2022-09-23 16:57:02 -
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
1.简介:作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须通过写游标来达到要求;如果我们用sp_MSforeachtable就可以非常方便的达到相同的目的:EXECsp_MSforeachtable@command1="print'?'DBCCCHECKTABLE('?')"系统存储过程sp_MSforeachtable和sp_MSforeachdb,是微软提供的两个不公开的存储过程,从mssql6.5开始。存放在SQLServer的MASTER数据库中...
数据库操作教程 2022-09-23 16:54:56 -
GridView自定义分页的四种存储过程
1.为什么不使用GridView的默认分页功能首先要说说为什么不用GridView的默认的分页功能,GridView控件并非真正知道如何获得一个新页面,它只是请求绑定的数据源控件返回适合规定页面的行,分页最终是由数据源控件完成。当我们使用SqlDataSource或使用以上的代码处理分页时...
数据库操作教程 2022-09-23 16:53:49 -
SQL中Group分组获取TopN方法实现可首选row_number
有产品表,包含id,name,city,addtime四个字段,因报表需要按城市分组,统计每个城市的最新10个产品,便向该表中插入了100万数据,做了如下系列测试:复制代码代码如下:CREATETABLE[dbo].[products]([id][int]IDENTITY(1,1)NOTNULL,[name][nvarchar](50)NULL,[addtime][datetime]NULL,[city][nvarchar](10)NULL,CONSTRAINT[PK_products]PRIMARYKEYCLUSTERED([id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]1、采用row_number方法,执行5次,平均下来8秒左右,速度最快。复制代码代码如下:selectno,id,name,cityfrom(selectno=row_number()over(pa...
数据库操作教程 2022-09-23 16:47:47 -
一个删选数据的例子,使用GROUP、DISTINCT实例解析
需求描述:一个表MyImage,列有:号码ID,路径PATH如:ID PATH1 C:/1 C:/1 D:/2 C:/2 C:/3 A:/3 C:/4 D:/写个SQL语句,返回这样的记录的ID号:相同ID存在不同PATH。如上例子,正确的结果应是:ID13(ID2没有不同PATH,ID4只有一条记录不存在不同PATH) 这是我的SQL语句:复制代码代码如下:selectIDfrom[MyImage]asA groupbyID having ( selectCOUNT(distinct(Path))from[MyImage]asBwhereB.ID=A.ID ) >1...
数据库操作教程 2022-09-23 16:46:43 -
使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
1)创建配置文件和帐户(创建一个配置文件和配置数据库邮件向导,用以访问配置数据库邮件管理节点中的数据库邮件节点及其上下文菜单中使用的帐户。) 打开数据库服务器------管理-------数据库邮件------右键---配置数据库邮件(同时也可以看到管理已经配置好的邮件账户和配置文件) 这里的配置文件名,在使用sp_send_dbmail时会作为参数使用点“添加” 其中,账户名可以任意指定(描述功能即可),重点是邮件发送服务器(SMTP)的配置:电子邮件地址为发送方邮件地址,显示名称为发送方名称,答复电子邮件(可以同电子邮件地址相同),服务器名称为服务器发送服务器(eg:QQ的为smtp.exmail.qq.com)端口号不变;SMTP身份验证:基本身份验证(配置自己的邮件发送方地址和密码)...
数据库操作教程 2022-09-23 16:45:51 -
探讨selectin在postgresql的效率问题
在知乎上看到这样一个问题:MySQL查询select*fromtablewhereidin(几百或几千个id)如何提高效率?修改电商网站,一个商品属性表,几十万条记录,80M,索引只有主键id,做这样的查询如何提高效率?select*fromtablewhereidin(几百或几千个id)这些id没啥规律,分散的。...
数据库操作教程 2022-09-23 16:44:40 -
SqlServer数据库三大 范式
1概述一般地,在进行数据库设计时,应遵循三大原则,也就是我们通常说的三大范式,即第一范式要求确保表中每列的原子性,也就是不可拆分;第二范式要求确保表中每列与主键相关,而不能只与主键的某部分相关(主要针对联合主键),主键列与非主键列遵循完全函数依赖关系,也就是完全依赖;第三范式确保主键列之间没有传递函数依赖关系,也就是消除传递依赖。本文将基于三大范式原则,结合具体的实例做简要分析,难度系数:基础...
数据库操作教程 2022-09-23 16:43:56 -
详解将DataGrip连接到MSSQLServer的方法
DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQLServer、Sqllite及Sybase等,并且提供了简单易用的界面,允许您以不同模式执行查询,在本篇文章中,我们介绍的是将DataGrip连接到MSSQLServer的方法。JetBrainsDataGrip教程DataGrip可以涵盖SQL开发人员的一些特定需求,例如从OSX连接到SQLServer,甚至使用Windows身份验证...
数据库操作教程 2022-09-23 16:43:48