Sql
文章平均质量分 68
_学而时习之_
这个作者很懒,什么都没留下…
展开
-
客户的反馈只是表象,实测才是硬道理
最近在做一个项目,该项目主要流程如下:1、客户应用已有的系统向SQL数据库中的交互数据表插入数据2、读取交互数据表中的数据到项目的软体上3、项目的软体通过接口连接公司已有的系统上,实现数据的控制4、将控制的结果回送到交互数据表中5、客户的系统读取结果约摸半个多月后,项目软体就做出来了,然后在公司内部进行了测试,之后交付给客户使原创 2013-05-22 10:46:55 · 1179 阅读 · 0 评论 -
SQL中用OFFSET FETCH NEXT 分页的坑
在SQL2012后的版本中支持了OFFSET index FETCH NEXT page_size ROWS ONLY的分页方式,但要分页就必须要有排序,而排序的字段选择的不对,就有可能造成分页结果不正确,比如第1页和第2页的数据有重复。为什么呢?究其原因,是因为排序字段的数据不唯一,或才有null,比如按价格排序,有同一价格的商品很多,结果就会造成排序错误。所以需要选择唯一值的字段来排序,比...原创 2019-04-10 09:12:24 · 9853 阅读 · 0 评论 -
小程序开发系列(八)利用SQL实现access_token的自动通知
在ms sql服务器中,利用维护计划,可以自动执行作业。如果我们将access_token的更新定义为作业,在间隔若时间进行更新,那么理论上,SQL服务器中就实现了access_token的自动更新。按着这样的思路,第1步要解决的就是SQL的http请求。我们来看实现代码CREATE PROCEDURE [dbo].[UpdateAccessToken] --更新访问票据ASBEGIN原创 2017-07-01 17:29:20 · 2066 阅读 · 0 评论 -
探讨SQL Server并发处理存在就更新七种解决方案
探讨SQL Server并发处理存在就更新七种解决方案前言本节我们来讲讲并发中最常见的情况存在即更新,在并发中若未存在行记录则插入,此时未处理好极容易出现插入重复键情况,本文我们来介绍对并发中存在就更新行记录的七种方案并且我们来综合分析最合适的解决方案。探讨存在就更新七种方案首先我们来创建测试表IF OBJECT_ID('Test') IS NO转载 2017-06-01 08:54:37 · 1772 阅读 · 0 评论 -
数据库分库分表
一、 基本思想Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个服务器上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(server)上。转载 2017-02-15 14:13:16 · 2281 阅读 · 0 评论 -
MSSQL Extension For Visual Studio Code
IntroductionVisual Studio Code is a graphical code editor for Linux, macOS and Windows that supports various extensions. Personally, I think in current scenarios, Visual Studio Code is the best co转载 2017-01-12 09:00:22 · 2267 阅读 · 1 评论 -
基于链接服务器的跨服务器查询
在数据查询时,由于数据存储在不同的服务器上,当需要联合查询时,不太方便。此时可以采用SQL SERVER的链接服务器来达成。链接服务器有界面和SQL创建两种形式,建议使用SQL创建,因为采用界面创建时有时会失败,而且原因不易查。下面是创建SQL链接服务器的脚本--创建MY_LINK_SERVER_NAMEexec sp_addlinkedserver 'MY_LINK_SERVER_NA原创 2015-07-17 15:32:33 · 1580 阅读 · 0 评论 -
SQL表函数的BUG
SQL2008之后的版本提供了表函数的编程,这是一个非常好用的功能,但是却有一个很掉蛋的问题。当我们在函数中使用SELECT * 与其他表连接的时候,如果在原表中增加了新的字段,这时得出的结果会错位。示例代码如下表函数代码USE [EXTest]GO/****** Object: UserDefinedFunction [dbo].[Test] Script Date: 02/原创 2015-02-06 17:48:40 · 947 阅读 · 0 评论 -
基于SQL脚本将数据库表及字段提取为C#中的类
开发时,勉不了需要使用SQL直接与数据库交互,这时对于数据库中的表名及字段名会使用的比较多。如果每使用一次都复制一个,实在蛋疼。所以就考虑将其做成const常量。但是数据库中的表和字段相当多,一个一个敲,不但累,还有可能敲错。要保证正确,最好的办法当然是使用工具或者脚本。这里提供一个SQL脚本的实现。原理:获取数据库的表--->遍历每个表中的字段--->生成数据SQL代原创 2014-06-26 16:44:16 · 1363 阅读 · 2 评论 -
项目中计数不同步和日志记录引发的BUG
项目开发前期早就完成了,但投入实际使用时出现了些很小却很头痛的问题。其中最值得注意又最容易忽略的两点,这里作一下记录。第一:计数不同步在项目投入使用后,发现数据总是会不同步,查遍了代码,从理论上,都不可能发生,但是实际上却又发生了。后来想起了以前看到过的文章,有提到多线程内操作同一个变量进行加减时,变量可能会不一致。按照这个思路,去查了一下日志记录,果然发现计数有莫名跳动的情况。比如数字本原创 2013-10-24 09:14:01 · 1383 阅读 · 0 评论 -
直接将XML存入到SQL中(SQL2008)
一、前言从 SQL Server 2005 开始,就增加了 xml 字段类型,也就是说可以直接把 xml 内容存储在该字段中,并且 SQL Server 会把它当作 xml 来对待,而不是当作 varchar 来对待。随着SQL Server 对XML字段的支持,相应的,T-SQL语句也提供了大量对XML操作的功能来配合SQL Server中XML字段的使用。本文主要说明如何使用SQL语句转载 2013-08-07 13:12:22 · 9995 阅读 · 1 评论 -
SQL中的NULL是标记而不是值
在SQL中,经常会碰到NULL的数据,由于编程语言如C、C++、C#、JAVA等都有NULL,于是会理所当然的将两者等价,实际上两者是不等价的。在C、C++、C#、JAVA等语中,NULL其实是作为值而存在的。比如C#中创建一个对象Object,我们可以赋值为null,而此时有一点很明确就是这个数据是Object类型。但在SQL中,数据为NULL却是未知的类型,或许有人会说了数据库的列在设计的时候...原创 2019-06-17 09:54:42 · 658 阅读 · 0 评论