随笔分类 - SQL Server
摘要:最近公司数据库同步机制常发生阻塞,时不时的导致PCB工程系统卡死现象,只有找到阻塞源头并处理掉,才以消除阻塞,但数据库中查看会话阻塞是通过二维表方式展示的父子会话进程ID的,是很难清楚的展示各会话进程ID的关系图的。 举例:这好比公路上的汽车我们开车前行,遇到前方塞车了,前方的车阻塞你,但后方又继续
阅读全文
摘要:先看一下手动发送邮件内容加入表格操作(下图所示),直接复制Excel内容,再粘贴到邮件内容中,就是这么便捷,如果我们想自动发送邮件,也实现同样的效果如果实现呢,在这里介绍2种方法: 一.读取Excel转为HTML 1.C#读取Excel转为HTML代码 /// <summary> /// 测试用拼接
阅读全文
摘要:采用SQL SERVER发送邮件是队列方式(异步)发送邮件,所以在我们执行发送邮件后,无法立即获取到邮件是否发送成功了,而在PCB行业实际应用中是需要立即获取发送邮件是否成功的状态来决定下一步逻辑该如何处理的,为了满足此要求我们需重新封装一下发送邮件的存储过程,让发送邮件实现同步发送邮件,方法如下:
阅读全文
摘要:一.开启SQL SERVER发邮件功能 二.邮箱配置 1.代码创建邮箱配置 2.界面创建邮箱配置效果 三.测试发送邮件 1.代码实现: 2.界面实现 四.发送邮件尺寸设置 五.发送邮件记录相关表
阅读全文
摘要:一.C#写SQL SERVER(CLR)实现文件操作 标量函数: 文件移动 ,复制,检测文件存在,写入新文件文本,读取文本,创建目录,删除目录,检测目录是否存在 /// <summary> /// 将现有文件复制到新文件。允许覆盖同名的文件。 /// </summary> /// <param na
阅读全文
摘要:在PCB业务系统中,数据库中的数据总是被应用端主动连接数据库并操作数据,是否想过可以让数据库主动的将数据推送出去呢! 答应其实是可以的。比如有这样的应用场景! 当SQL SERVER数据库满足某个条件时,可以让数据库主动的将消息发送出去! 例如:数据库中的某个字段的数据发生变化或客户端触发了某个存储
阅读全文
摘要:一.准备需转为HMLT字符串的DataTable数据 在数据库中执行一段SQL返回的数据 需转换后的HTML的文本 二.C#写SQL SERVER(CLR)转HTML函数 先执行SQL返回DataTable,接着再将DataTable转为HTML /// <summary> /// SQL转Html
阅读全文
摘要:一.准备需转为DataTable的json字符串 原json字符串数据 转换后的效果(横向) 转换后的效果(竖向) 二.C#写SQL SERVER(CLR) json转DataTable存储过程 利用Json反序列化为字典类型 Dictionary<string, object> key,value
阅读全文
摘要:一.准备需转为json字符串的DataTable数据 在数据库中执行一段SQL返回的数据 需转换后的JSON字符串的效果 二.C#写SQL SERVER(CLR)转JSON函数 先执行SQL返回DataTable,接着再将DataTable转为Json, 这里转为Json有2种方法,代码都贴在下方了
阅读全文
摘要:在PCB行业,一个产品可能同时在多个工厂生产,举例:一个产品一条主记录,这条记录中会对应多个工厂的产地,而这个工厂产地个数不确定, 那么如何设计表结构存储这个不确定的工厂呢?这里想到了4个方式存储 一.主外键一对多的方式 产品为主键,主表,而工厂放到外键,为副表,这样就可以实现一对多的方式。 二.主
阅读全文
摘要:在SQL SERVER字段采用枚举值作为字段后,如果直接查看字段的值是很难判断这个字段的带表什么意思, 在这里介绍如用函数的方法实现枚举值分割,只有分割后才很方便知道枚举值的意思。 一.问题说明 1.如下为:单个枚举值清单如下 十进制带表枚举的值,每个值带表对应的工厂 单枚举: 1带表P1工厂,2带
阅读全文
摘要:我们用过SQL SERVER的都知道,SQL SERVER它本身是不自带正则表达式的,因为没有,所以基本都没用过啊, 但我们在C#中对文本匹配用正则的方式处理非常好用,省得你写一堆代码实现匹配,多简洁啊, 那么是否想过,在SQL SERVER中也使用正则,可能吗? 答案:当然啦, 自从微软发布SQL
阅读全文
摘要:今天工程系统给到加投加投组件的数据规则修改,遇到需将一个字段模糊匹配的个数统计 这类需求要平时应该很少遇到了,这里将此方法分享出来, 一.需求如下 例子:itempara字段中的内容是: IVH板 铜镍金板 POFV板 HDI+光电板 +超长板 需模糊匹配4个文本在 Server 或 IVH 或 背
阅读全文
摘要:这里以实际例子对触发器的应用对触发器的理解与应用来得更实际 一.更新触发器(Update) 临时表:inserted表有数据(新数据) Deleted表有数据(旧数据) 实例说明:当表更新时,并检测到更新了交期与数量字段,并连表更新另外一张表的数据(交期与数量),同时对历史更新的数据进行备份 二.插
阅读全文
摘要:PCB由于业务关系复杂,业务触发一个事件时,可能需与数据库多个表进行关连处理才能拿到数据结果, 而表关连并不是简单的关连,实际是要进行大量数据筛选,逻辑判断,转换等过程。。。这个过程是复杂的 想一想,如果将大量数据传到客户端处理,这宽带压力也是挺大的,所以折中选择放到有部份业务逻辑放在存储过程处理了
阅读全文
摘要:在前年工程系统与APS系统对接时,需将工程系统数据导出来给APS,采用的正是bcp命令实现,速度超快。 这里将此命令使用方法整理如下: 一.写SQL将表数据导出到Excel 导出后数据样式: 二.数据库表数据导出到Excel 导出后数据样式: 问题解答: 1.接下来,bcp命令如何执行呢? 答:将b
阅读全文
摘要:工作每天都与数据库打交道,经常会遇到一些需要将数据库中的数据导出来或将数据导入到数据库 而用微软数据库客户端自带的功能操作步骤好麻烦的,用过的大家都会有相同的感受吧。 微软客户端不好之处整理:这里吐槽一下 1.EXCEL数据导入或导出数据库操作步骤贼多步 2.数据量大时,将表中数据复制出来内存会有超
阅读全文
摘要:用CLR写函数:标量函数,表值函数 很好理解,如果用聚合函数则不是那么好理解了, 这里将CLR函数说明一下,其实关键是对聚合函数说明 用CLR写聚合函数关键点,是要理解CLR与SQL是如何进行数据交互的, 第一步:聚合函数中各函数的作用 第二步:聚合函数调用顺序 第三步:聚合函数在实际SQL中调用次
阅读全文
摘要:将字符串分割为表表经常用到,这里 SQL表值函数与CLR 表值函数,两种实现方法例出来如下: 效果如下: SQL实现表值函数 创建CLR 表值函数 CLR实现表值函数
阅读全文