二月十六的博客

学习、分享知识

排序:
默认
按更新时间
按访问量

SQL SERVER 利用触发器禁止删除数据并记录删除日志

        有时候我们数据库表中的数据会莫名其妙的被删除,不知道是业务问题还是被黑了,所以我们想要在数据库操作层面对此进行制止,同时记录操作的日志,我们可以利用触发器来实现这个需求,测试数据:--测试数据 if not object_id(N'T') is null drop tabl...

2018-04-08 10:26:46

阅读数:2590

评论数:0

SQL SERVER 表分区技术

当一个数据库表的数据达到千万级别的时候,这时候磁盘的I/O就成了性能的瓶颈,因此如果能提高磁盘的I/O能力,也就相应的提高了数据库的效率。SQL Server推出了表分区技术。表分区就是把一个数据库表文件拆分成多个文件,并放到不同的文件组甚至是不同的磁盘中,但是在外界访问时看到的还是一个数据库表,...

2018-04-08 08:08:54

阅读数:2498

评论数:0

SQL SERVER 游标使用

       我们在处理数据的时候,经常会出现需要循环处理数据的需求,如果我们能用CTE或者其他语句处理的话,没有问题,但有时候往往处理起来比较困难,这时候我们可以选择使用游标处理,选择使用哪种形式,要考虑效率问题,一般游标效率不高,但也有适合使用的场景。       游标分为静态游标和动态游标,...

2018-04-04 09:14:36

阅读数:2626

评论数:0

SQL SERVER 连乘写法

       SQL SERVER 提供了SUM、COUNT、MAX、MIN、AVG等聚合函数,但是没有提供连乘的函数,但是在实际开发过程中,我们可能会用到连乘的数据,所以我们可以自己实现连乘的写法,测试数据:--测试数据 if not object_id(N'Tempdb..#T') is nu...

2018-04-03 17:05:05

阅读数:2299

评论数:0

SQL SERVER EXCEPT、INTERSECT 用法

       EXCEPT主要是用来获取两个结果集的差;两个结果用EXCEPT链接,返回第一个结果集不在第二个结果集中的数据。INTERSECT主要是用来获取两个结果集的交集;两个结果用INTERSECT链接,返回两个结果集中的相同部分,测试数据:--测试数据 if not object_id(N...

2018-03-30 11:14:46

阅读数:3513

评论数:0

SQL SERVER FOR XML PATH 用法

      有时候我们需要把多行数据,合并成一行显示,并用逗号或者其他方式分隔显示,这时候我们可以使用FOR XML PATH的方式,来实现需求。测试数据如下:--测试数据 if not object_id(N'Tempdb..#T') is null drop table #T Go Crea...

2018-03-24 11:08:21

阅读数:2545

评论数:0

SQL SERVER 判断文件是否存在

      有时候我们需要判断一些物理文件是否存在,然后在做一些处理,比如作业定时导入txt文件,需要提前判断文件是否生成存在,然后再做导入操作,我们可以利用xp_fileexist来做判断,新建方法如下:CREATE FUNCTION fun_ExistFile ( @filePath VARC...

2018-03-22 09:10:51

阅读数:3449

评论数:0

SQL SERVER 递归查询(4)——递归层级查询

      我们在做递归查询的时候,有时候需要查询特定某一级的数据,如果我们的数据上没有标注该数据的层级数,那么我们可以在递归的时候自己加一个,并在读取的时候作为查询条件来用,测试数据:--测试数据 if not object_id(N'Tempdb..#T') is null d...

2018-03-19 16:40:38

阅读数:3928

评论数:0

SQL SERVER 递归查询(3)——分组递归

      有时候我们需要按照分组递归查询,比如省市区,同一个省同一个市的要放到一起显示,而我们原始数据又不是这样排列的,所以需要我们做一下处理,测试数据:--测试数据 if not object_id(N'Tempdb..#T') is null drop table #T Go Create...

2018-03-17 16:49:45

阅读数:3729

评论数:0

SQL SERVER 递归查询(2)——向下递归计算

      向上向下累加减,是常用递归来实现的,在上篇博客中,介绍了递归的函数和CTE写法,并把向上累加做例子介绍了,这次我们介绍一下向下做减的写法,计算每月的余额,测试数据:--测试数据 if not object_id(N'Tempdb..#T') is null     drop table...

2018-03-16 22:19:23

阅读数:9698

评论数:2

SQL SERVER 递归查询(1)——常用方法(CTE写法、函数)

      我们在实际查询中,时常会碰到需要递归查询的例子,SQL SERVER 2005之前的版本可以用函数方法实现,SQL SERVER 2005之后可以利用CTE(公用表表达式Common Table Expression是SQL SERVER 2005版本之后引入的一个特性)的方式来查询。...

2018-03-16 10:00:39

阅读数:6978

评论数:0

SQL SERVER ISNUMERIC函数判断数字不准确问题

判断字段是不是数值型字段,SQL SERVER提供了ISNUMERIC函数:   ISNUMERIC ( expression )        当输入表达式的计算结果为有效的 numeric 数据类型时,ISNUMERIC 返回 1;否则返回 0。 有效的 numeric 数据类型包括以下类型:...

2018-03-15 15:14:09

阅读数:11283

评论数:0

无法连接到SQL SERVER数据库

    无法连接到数据库时,检查以下几项:    1、网络情况。检查tcp/ip是否启用,并注意端口号。    打开SQL SERVER配置管理器,检查网络配置        2、ping 服务器地址,检查网络问题。       3、利用telnet命令,检查端口情况。        如果网络存在...

2018-03-14 09:03:09

阅读数:10680

评论数:0

完全删除SQL SERVER

       我们在安装SQLSERVER的时候,有时会出现问题,而在重新安装的时候,有时候会因为上次安装遗留的东西而导致本次安装失败,所以完全删除SQLSERVER比较重要。完全删除方法如下:      1、控制面板里删除。 2、安装目录文件夹删除。 3、注册表删除。 ...

2018-03-13 10:59:25

阅读数:8375

评论数:0

SQL SERVER 分页(2)——利用OFFSET/FETCH NEXT实现分页

       在上一篇博客中用ROW_NUMBER实现分页,这次我们利用OFFSET/FETCH NEXT来实现分页,这个是在SQL2012中加入的分页方法,测试数据:--测试数据 if not object_id(N'T') is null drop table T ...

2018-06-14 19:51:54

阅读数:690

评论数:0

SQL SERVER 分页(1)——利用ROW_NUMBER实现分页

       我们在开发过程中,分页是十分常见的功能,在SQL SERVER 2012之前一般使用ROW_NUMBER来实现分页的功能,测试数据如下:--测试数据 if not object_id(N'T') is null drop table T Go Create t...

2018-06-11 14:33:33

阅读数:1155

评论数:0

SQL SERVER分隔函数,根据传入值,获取第几个分隔的值

       这个题目描述的有点乱,大家看需求吧,论坛帖子的需求, 实现类似程序中,可以用string[] arr=“1.12.123”.split(.) 如果我要取12 则可以arr[1]。CREATE FUNCTION dbo.F_SplitByIdex ( @SplitStrin...

2018-06-09 14:29:53

阅读数:1297

评论数:0

SQL SERVER 利用触发器记录登录日志

       有时候我们需要记录谁登陆过我们的服务器,来确定一些信息,我们可以使用触发器来实现,参考文档:登录触发器       新建日志表:CREATE TABLE TBLOG ( ID INT NOT NULL IDENTITY(1, 1) , EVTIME D...

2018-06-05 09:12:00

阅读数:1543

评论数:0

SQL SERVER 提取字符串中汉字

        对一个字符串进行提取,获取其中汉字部分,方法如下:IF OBJECT_ID('DBO.GET_ZNSTR') IS NOT NULL DROP FUNCTION DBO.GET_ZNSTR GO CREATE FUNCTION DBO.GET_ZNSTR(@S NVARCHAR(1...

2018-05-22 08:28:01

阅读数:2029

评论数:0

SQL SERVER 提取字符串中字母

       对一个字符串进行提取,获取其中字母部分,方法如下:IF OBJECT_ID('DBO.GET_ENSTR') IS NOT NULL DROP FUNCTION dbo.GET_ENSTR; GO CREATE FUNCTION dbo.GET_ENSTR (@S VARCH...

2018-05-21 08:30:39

阅读数:1915

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭