原文:SQL点滴26—常见T-SQL面试解析它山之石可以攻玉,这一篇是读别人的博客后写下的,不是原原本本的转载,加入了自己的分析过程和演练。sql语句可以解决很多的复杂业务,避免过多的项目代码,下面几个语句很值得玩味。1.已经知道原表yearsalary20001000200120002002300020034000怎么查询的到下面的结果,就是累积工资yearsalary200010002001300020026000200310000思路:这个需要两个表
系统 2019-08-12 01:33:11 2303
笔者工作的公司采用的是SQLServer数据库,每天都要处理大量的数据,由于笔者进公司的时间比较晚,公司现有的大部分的程序都是以前的程序员留下的,因为他们没有相关的文档,笔者对于后台数据库的很多表的结构和数据都不甚了解,给日常的维护造成了很大的麻烦。在对后台数据库进行研究的过程中,我需要得到数据库的某些相关信息,比如,我希望知道各个用户表占用多少磁盘空间,并且排列出来,可以让我知道哪些表比较大,数据比较多等等——我相信,这可能也是不少数据库管理员所关心的问
系统 2019-08-12 01:54:02 2302
//API层moment=require("moment"),startDate:moment(params.startDate).format('YYYY-MM-DD'),//查找时间段:if(typeof(appointment_time)!="undefined"&&appointment_time!=null&&appointment_time!=''){//query.appointment_time={};query.appointment_t
系统 2019-08-12 01:54:00 2302
http://acm.timus.ru/problem.aspx?space=1&num=1301一不小心写了一个三维的spfa思路很简单就是有点繁琐代码:#include#include#include#include#include
系统 2019-08-12 01:52:44 2302
--取得随机数的视图CREATEVIEWv_RANDASSELECTre=STUFF(RAND(),1,2,'')GO--生成随机编号的函数CREATEFUNCTIONf_RANDBH(@BHLenint)RETURNSvarchar(50)ASBEGINDECLARE@rvarchar(50)IFNOT(ISNULL(@BHLen,0)BETWEEN1AND50)SET@BHLen=10SELECT@r=CHAR(65+(SUBSTRING(re,1,1
系统 2019-08-12 01:51:38 2302
IBeamMDAA没有限制必须使用什么样的数据库访问技术,IBeamMDAA即没有自己创造数据访问层组件,也没有使用.net最新数据访问层技术(比如:Linq或EntityFreamwork),而是保守地使用了经过大量实践检验的NHibernate,但我们推荐使用CastleActiveRecord,CastleActiveRecord的基础组件使用NHibernate,因此,IBeamMDAA目前支持比较完善的是CastleActiveRecord,在性
系统 2019-08-12 01:33:31 2302
第一周的新鲜感过去后,第二周我就能够以平常心来面对周围的新环境了。除了语言和饮食不同,终究还是软件开发的工作,一定是要遵循软件开发的规律的。在这短短的两周时间内,我谈不上有什么收获,能够让我的能力再上一个台阶。但一些体会还是有的,虽然有些散乱,仿佛思想的片段,如野马,如浮云,若能及时捕捉并加以记录,这些体会就能够潜移默化地改变自己,或许也能改变阅读这篇博客的你。这一周,我打算谈一谈我对能力的体会。作为一名Dev,能力是自己的立身之本,也是养家糊口的必须技能
系统 2019-08-12 01:32:42 2302
用于在WHERE子句中规定多个值。语法SELECT列FROM表WHERE列IN(value1,value2,...)表:IdLastNameFirstNameAddressCity1AdamsJohnOxfordStreetLondon2BushGeorgeFifthAvenueNewYork3CarterThomasChanganStreetBeijing例如果我们希望从表中选取姓氏为Adams和Carter的人:SELECT*FROMPersonsWH
系统 2019-08-12 01:52:59 2301
引言数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白
系统 2019-08-12 01:52:58 2301
1.数据库的设计尽量把数据库设计的更小的占磁盘空间.1).尽可能使用更小的整数类型.(mediumint就比int更合适).2).尽可能的定义字段为notnull,除非这个字段需要null.3).如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.4).表的主索引应该尽可能的短.这样的话每条纪录都有名字标志且更高效.5).只创建确实需要的索引。索引有利于检索记录,但是不利于快速保存记录。如果总是要在表的组合字段上做搜索,那么
系统 2019-08-12 01:51:36 2301
好久没有维护项目开发了,写存储过程开始有点手生了,真后悔没有早点总结一下以往项目经验啊。所以这里就开个篇记录点心得:1.首先要写好每个存储过程的版本说明,应该包括:版本号、修改日期、修改人、项目名称、应用范围(工作类型或者功能块)、修改描述如:--Ver.1.02008-10-16EnliXXXproject(装配工作站):新建功能2.名称命名很重要,既然要表达出功能的意义,又要尽量统一描述方式项目存储过程编写
系统 2019-08-12 01:51:28 2301
有几种系统存储过程和目录视图可提供有关存储过程的信息。使用它们,您可以:查看函数的定义,也就是用于创建用户定义函数的Transact-SQL语句。如果您没有用于创建函数的Transact-SQL脚本文件,这会很有用。获得有关函数的信息(例如函数的架构、创建时间及其参数)。列出指定函数所使用的对象及使用指定函数的对象。此信息可用来识别那些受数据库中某个对象的更改或删除影响的函数。查看用户定义函数的定义sys.sql_modules(Transact-SQL)
系统 2019-08-12 01:34:03 2301
函数AFTER触发器INSTEADOF触发器适用范围表表和视图每个表或视图包含触发器的数量每个触发操作(UPDATE、DELETE和INSERT)包含多个触发器每个触发操作(UPDATE、DELETE和INSERT)包含一个触发器级联引用无任何限制条件不允许在作为级联引用完整性约束目标的表上使用INSTEADOFUPDATE和DELETE触发器。执行晚于:约束处理声明性引用操作创建插入的和删除的表触发操作早于:约束处理替代:触发操作晚于:创建插入的和删除的
系统 2019-08-12 01:34:03 2301
http://acm.timus.ru/problem.aspx?space=1&num=1513此题需要用到大整数我是用万进制输出时要注意不要多输出0思路方面可以先想出来二维的解法然后发现二维的可以转化为一维的代码:#include#include#include#include#include#include#include#inclu
系统 2019-08-12 01:55:24 2300
近期监控数据库,发现以下语句跑得很慢,原来运行计划走了导致笛卡尔积,来看以下语句:SQL>explainplanfor2SELECTCOUNT(*)3FROM"GD_FS"."TZZ_SJ_DEV_DISC_79073""A2",4"GD_FS"."TZZ_SJ_DEVELOP_MONTH""A1"5WHERE"A1"."SERV_ID"="A2"."SERV_ID"6AND"A1"."STAT_DATE"="A2"."STAT_DATE"7AND"A2"
系统 2019-08-12 01:55:11 2300