SQL调优及高级SQL语法编写
以SQL Server为例,讲述SQL调优以及SQL中进行Web开发,专栏包含存储过程、函数、触发器、表变量、临时变量、游标、JSON解析、WEBAPI调用,邮件发送、HTML生成,SQL中DLL调用等高级SQL用法。满足用SQL完成应用程序开发。
Favor_Yang
开发组组长。
展开
-
SQL Server 实现邮件发送功能(配置步骤及存储过程源码)
本文主要讲解了通过SQL Server实现邮件发送的配置方式以及源代码参考。属于SQL Server开发的高级范畴。实现了通过SQL发送邮件内容以及附件。并且邮件内容以html格式进行发送。附件采用SQL自带函数进行生成,然后通过调用存储过程,可以实现邮件的定时定期发送。欢迎大家学习交流。原创 2023-04-01 15:10:46 · 2262 阅读 · 0 评论 -
考勤统计,一张表查询每月的员工考勤数据
近期根据公司人事要求,写了一些关于考勤统计的报表。主要是查询员工每月的考勤数据,要求一行数据显示员工的当月的每天的考勤信息,标的样式如下:然后,根据考勤表,写了如下SQL语句,来实现报表的查询,谨以此做记录,以备后续查阅。SELECT DeptName AS 所属部门, UserName AS 员工姓名...原创 2019-10-18 11:09:13 · 8598 阅读 · 1 评论 -
考勤查询统计SQL脚本。
本文主要记录下平时工作中考勤统计中的SQL脚本,以便于后续翻阅,同时和大家分享一下,不足的地方还请大牛多多给与点评。1.首先是查询某员工的考勤记录。可以根据年份,月份,或者时间段查询结果,同时也可以去掉人员筛选条件,查询多个人的考勤结果。以及计算出该员工的打卡是否正常。SQL语句如下所示:SELECT 员工号,卡号,姓名,日期, '打卡记录' AS 考勤类型, ...原创 2018-11-27 08:43:06 · 10054 阅读 · 6 评论 -
年休假扣减顺序存储过程
最近在优化公司的年休假扣减流程,这里写了两种方式,一种是在数据库中使用存储过程,进行年休假顺序扣减。也就是本文的介绍的一种情况,还有一种是在代码中通过积分扣减形式,进行扣减计算。这个将在下一篇文章中介绍。1.年休假统计表的表结构SQL如下,在数据库中执行即可。/****** Object: Table [dbo].[ZZ_HR_ANNUAL_VACATION] Script Date: 2020/5/18 13:55:37 ******/SET ANSI_NULLS ONGOS.原创 2020-05-18 14:01:37 · 492 阅读 · 0 评论 -
SQL Server 解析JSON复杂的多层级示例
本文主要讲一下如果通过JSON函数,把复杂的JSON语句在SQL Server 中转成表数据然后进行存储。主要用到SQL Server 内置的JSON函数原创 2022-07-29 23:01:11 · 1406 阅读 · 0 评论 -
SQLServer 分页分页查询优化方案,1秒内查询20万条数据的表
最近在做sql分页查询的话,发现数据表中的数据量非常大的话,使用count(*)去统计行数的话,还是非常慢的。20多万条数据的表,用count查询,大概在9秒左右。服务器是4核8G内存的。5秒左右的时间,还是比较难以接受的,9秒时间的SQL语句如下所示:/****** SSMS 的 SelectTopNRows 命令的脚本 ******/SELECT count(*) as total FROM [Chint.Hygiene].[dbo].[tb_UserTemperatureInfo]原创 2020-11-25 21:10:05 · 2696 阅读 · 0 评论 -
SQLServer获取2020年节假日列表(可用于Java、.NET,Python,C++等实现)
上次写了关于SQLServer获取2019年节假日列表的一个博客,这次根据上次的资源进行更新。参考博文如下:SQL Server 获取2019年节假日列表(可用于Java、.Net系统实现)同样是创建日期表:CREATE TABLE [dbo].[HR_WorkDayList]( [WorkDate] [varchar](10) NOT NULL, [DateType] [nva...原创 2019-11-22 22:53:06 · 1206 阅读 · 0 评论 -
无法为数据库中的对象分配空间,因为‘PRIMARY‘文件组已满问题处理方式
今天公司同事反馈,在手机APP端进行业务操作时,提示无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满,如下所示。出现这个问题的原因是数据库中设置了Log日志限制了文件增长。设置如下所示,然后修改了相关设置,解决该问题。一般出现此种情况的原因有以下几种情况:1、硬盘设置格式为FAT32 ,此时可以备份,然后修改为NTFS格式(风险较高的一种方式)2、就是上述所说...原创 2019-11-19 09:02:23 · 14910 阅读 · 1 评论 -
SQL语句-考勤统计表按照年份统计员工每月的加班调休数据
最近在做考勤统计相关的报表,人事要求统计出每位员工每年的的调休和加班统计表。加班分为平时加班和周末加班,节假日加班由于算作工资,因此不统计。平时加班包含上年结余的和本年度的加班相加。然后,在计算出本年度的结余。加班和请假流程分别是不同的表,员工信息表由于取员工钉钉上的信息和系统内部信息结合,因此,进行关联查询,同时上年度结余信息,单独建立一张表维护,加起来总共五张表。这五张表通过UserID字...原创 2019-10-22 22:14:28 · 2227 阅读 · 0 评论 -
SQL Server执行计划详解
在博客园上看到一篇很不错的讲解SQL执行计划的文章,引用过来以供学习。访问地址:https://www.cnblogs.com/knowledgesea/p/5005163.html下面是关于SQLServer的索引的原理的相关博客,也收藏下。https://www.cnblogs.com/knowledgesea/p/3672099.html同时供大家参考学习。...原创 2019-07-10 13:45:38 · 1815 阅读 · 0 评论 -
Linq两个DateTable Left Join 多条件联合主键关联查询
Linq查询时,关于两个DateTable的关联查询,涉及到多个主键时,我们一般采用On New把字段一一关联。但是DateTable的字段可能不会一样,因此我们可以采用别名的方式,使其一一对应。具体方式如下: new { Name = m.Field<string>("UName"), Date = m.Field<string>("WorkDate") } equa...原创 2018-12-17 15:21:32 · 2327 阅读 · 4 评论 -
SQL Server 获取2019年节假日列表(可用于Java、.Net系统实现)
考勤统计中,一般都需要考虑到节假日信息和调休的日期,每年12月份国家会颁布新一年的节假日信息,我们可根据节假日信息,维护成相关的日期表,用于日期维护。本文介绍下相关实现方式。 日期表的创建如下:CREATE TABLE [dbo].[HR_WorkDayList]( [WorkDate] [varchar](10) NOT NULL, [DateType] [nvarchar](10...原创 2018-12-10 13:32:26 · 4328 阅读 · 0 评论 -
SQL server Merge into MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。MERGE 语句无法多次更新/删除目标表的同一行。请简化 ON 子句,
SQLserver Merge into 的用法 在匹配Using 源表时,有时候会报异常消息 8672,级别 16,状态 1,第 1 行 MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。MERGE 语句无法多次更新/删除目标表的同一行。请简化 ON 子句,针对这问题的解决办法一般是确保源表的on字段是唯一的。因为我们可以用distinct关键字,保证源表的On 字...原创 2018-12-10 10:18:20 · 5510 阅读 · 0 评论 -
SQL语句删除具有外键约束(foreign key)的表。因为该对象正由一个 FOREIGN KEY 约束引用。
关于包含外键的表,清理数据的时候,如truncateTable,网上大部分的解决办法是,删除外键-》删除数据-》再新建表。这里介绍一种不需要删除外键,只需要修改外键属性就可以删除数据的方式。如上图所示,展开表名,找到外键,双击外键,修改Insert和Update规范下面的删除规则为“级联”,然后保存表,就可以删除数据了。当然,为了保证表还是原先的样子,删除之后也可以把删除规则再修改...原创 2018-12-05 14:19:48 · 6833 阅读 · 0 评论