数据库
三角室
更多信息请关注公众号“时间维度”!
展开
-
PostgreSQL 动态执行函数取得返回值
有时候,函数名称可能是配置的,需要动态去调用并获得函数结果,可以使用 execute sql into result 动态执行来达到目的。原创 2022-10-07 12:24:00 · 1447 阅读 · 0 评论 -
C#判断表是否存在MySQL、PostgreSQL、SqlServer
MySQLpublic static bool IsTableExists(string connectionString, string tblName){ string sql = "SELECT table_name FROM information_schema.TABLES WHERE table_name =@tableName"; string result = MySQLHelper.ExecuteScalar(connectionString, Syst原创 2020-07-01 10:55:36 · 574 阅读 · 0 评论 -
SqlServer 函数搞定票据校验位
众所周知,18位的身份证号码,最后一位是校验位,可能是0到9和X中的一个。它的校验规则可参考。http://www.coozhi.com/youxishuma/hulianwang/23169.html其实,很多票据号也是采用了相同的校验位算法。这些票据号可能是10位,12位等等。它们的区别仅仅是参与计算校验位的数字少些而已,过程是一样的。因此,对生成身份证校验位的算法稍加改造,即可支持使...原创 2019-08-21 21:18:10 · 207 阅读 · 0 评论 -
windows 下使用批处理执行 postgresql 命令行操作
1.准备好命令文件 loraserver.sqlcreate role loraserver_as with login password 'dbpassword';create role loraserver_ns with login password 'dbpassword';create database loraserver_as with owner loraserver_a...原创 2019-07-24 14:13:19 · 1607 阅读 · 0 评论 -
PostgreSQL 务实应用(四/5)JSON
JSON 可谓风靡互联网,在数据交换使用上,其优势特别明显,其结构简洁、可读易读、形式灵活。很多 API 接口的数据都采用 JSON 来表示。PostgreSQL 对 JSON 提供了良好的支持。具体的相关函数可参考:JSON类型和函数从使用的角度而言,个人觉得常见的应用场景为:读取单个 JSON 的属性值 遍历单个 JSON 的所有属性 遍历一个 JSON 数组 创建一个 J...原创 2019-04-20 01:07:01 · 169 阅读 · 0 评论 -
PostgreSQL 务实应用(三/5)分表复制
问题的提出在项目中,有些表的记录增长非常快,记录数过大时会使得查询变得困难,导致整个数据库处理性能下降。此时,我们会考虑按一定的规则进行分表存储。常用的分表方式是按时间周期,如每月一张,每天一张等。当每月或每天首条记录到达时,根据表结构创建该周期为后缀的表进行存储。相关考虑这其中主要考虑两个问题:(1)如何复制表采用分表机制,通常会建立一个模板表。所谓模板表,是只定义结...原创 2019-04-19 13:10:34 · 170 阅读 · 0 评论 -
PostgreSQL 务实应用(二/5)插入冲突
在项目中,有时会动态地按周期(如按月)封存统计数据,通常需要做这样的处理:以按月封存为例,当月数据到达时,先需要检查该月是否有过记录,有则以更新的方式累加统计数字,无则添加一条记录。假设我们创建以下月封存表 month_stat,字段month_name 表示月份,字段total_count 表示统计数字。CREATE TABLE month_stat (month_name...原创 2019-04-18 16:49:53 · 378 阅读 · 0 评论 -
PostgreSQL 务实应用(一/5)树形层级
项目中,经常会碰到多级的树形结构数据,如地区信息,省、市、区、街道等,或客户关系信息上三级,下三级等。实际项目中,我们可能碰到以下两种需求:一条记录中呈现路径:省 - 市 - 区 - 街道 一条记录中呈现上几级:上级,上上级,上上上级此情此景,使用 WITH RECURSIVE递归查询再合适不过。递归查询在介绍WITH RECURSIVE 之前,我们先介绍一个 WITH ...原创 2019-04-18 13:50:26 · 840 阅读 · 0 评论 -
PostgreSQL 务实应用(五/5)常用表达
在实际应用中,对于具体的数据计算我们会找相应的函数来实现。而计算需求不同的表达,往往会使得我们使用不同的函数或方式来实现。或者也可以说,同一计算可以使用多种不同的表达方式实现。PostgreSQL 提供非常丰富的类型及函数,一些常用的函数可参考此文。以下我们通过实例来展示几个常用的函数表达场景首先,我们创建示例数据如下CREATE TABLE table_test ( id...原创 2019-04-22 00:28:34 · 164 阅读 · 0 评论 -
触发器应用场景之冗余加速
(一)应用场景情形:在进行查询时,有些结果列需要通过复杂而费时的计算得出场景:如果数据量大,且经常需要查询,可以考虑空间换时间,在表模型中增加冗余的列存储计算结果。而这种场景,触发器特别适合,它能漂亮地完成任务,而不需要应用进行任务业务修改。(二)触发器简介(1)触发器(trigger)是用来保证数据完整性的一种方法,它是与表事件相关的特殊处理过程,它的执行不是由程序调用,也不...原创 2019-04-16 16:01:25 · 209 阅读 · 0 评论 -
SQLServer替换第一个匹配的字符串方法
SqlServer中,并不直接支持字符串的正则表达式操作,一些特殊的字符串操作需求需要分多个步骤来完成。SQLServer替换第一个匹配的字符串方法。原创 2016-03-22 12:10:54 · 8950 阅读 · 0 评论