随笔分类 - 数据库技术
SQL SERVER/MYSQL/ORACLE等数据库相关的技术文章
摘要:众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术。同时SQL注入攻击所带来的安全破坏也是不可弥补的。以下罗列的10款SQL工具可帮助管理员及时检测存在的漏洞。 BSQL Hacker BSQL Hacker是由Portcullis实验室开发的,BSQL Hacker 是一个SQL自动注入工
阅读全文
摘要:SELECT[job].[job_id],[job].[name] AS 'job_name',[jobstep].[step_id],[jobstep].[step_name],[jobhis].[message] AS 'err_mess'--步骤失败的原因FROM [dbo].[sysjobs] AS job WITH(NOLOCK)INNER JOIN dbo.[sysjobhistory] AS jobhis WITH(NOLOCK)--run_status=0代表失败步骤ON ([job].[job_id] = [jobhis].[job_id] A
阅读全文
摘要:在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,
阅读全文
摘要:问题描述:今天有一个朋友问我,他有如下一个表RoleNameRoleList小明1,2,3希望能将RoleList中的1,2,3拆分成3列存储到数据库中。此时我就想啦,这样拆分,确实有难度,函数函数不行,存储过程存储过程不行,那该怎么办呢?后来仔细想想,如果要是每行我能单独进行二次加工该多好啊。鉴于我这个想法,觉得游标可能适合我当前的问题。因为游标可以单独循环每条记录,它不在有行的改练,而是有了列的概念,只要我循环每行数据,那么我就可以单独的对各个列进行一个操作,那具体的操作就可以人有我自己去实现啦,岂不乐哉。最后代码如下:IF(EXISTS(SELECT1FROM[sys].[objects
阅读全文
摘要:问题描述:今天在某个项目中处理了一下Cube,但是居然报错啦,处理失败!一大串红色的错误,看的我心慌慌,仔细一想我并没有做什么错误的操作啊,我仔细寻找了一下错误、看了几遍,删除了旧的Cube处理了几次都是报错,甚是郁闷,我仔细看看错误信心,其中"将expression转换为数据类型datetime时出现算术溢出错误。",根据我平时经验告诉我有2种可能:1、CUBE中的试图表中创建的命名计算计算出错2、数据仓库中读取表数据的时候错误,一般表中有计算的大概都是创建试图,在试图中的计算转换有问题。于是我检查了所有涉及的命名计算,发现命名计算没有问题,都是有数据并且正确的接下来我就
阅读全文
摘要:问题描述:在万科项目中,在查询来电来访关联房间项目时候发现查询来电来访事实数据不在房间的项目维度,但是使用平时查询那些不存在数据的SQL时候却一笔也没有查询出来。语句如下:SELECT DISTINCT[ldlf].[ProjectId]--,[ldlf].*FROM [dbo].[Fact_LDLF] AS ldlf--WHERE [ldlf].[ProjectId] = '518589AC-9698-45F8-9813-D767E5AC7A21'WHERE [ldlf].[ProjectId] NOT IN (SELECT DISTINCT[b].[ProjectId]FR
阅读全文
摘要:错误信息:标题: Microsoft SQL Server Management Studio------------------------------从 IClassFactory 为 CLSID 为 {AA40D1D6-CAEF-4A56-B9BB-D0D3DC976BA2} 的 COM 组件创建实例失败,原因是出现以下错误: c001f011。 (Microsoft.SqlServer.ManagedDTS)解决方案:在命令行里执行下面的语句重新注册dts.dll文件,分别对应不同的平台:(x86)c:\windows\system32\regsvr32 "C:\Progra
阅读全文
摘要:Declare @SQLToken varchar(max)set @SQLToken= ''declare hCForEachTable cursor global forselect '[' + REPLACE(schema_name(syso.schema_id), N']', N']]') + ']' + '.'+ '[' + REPLACE(object_name(o.id), N']', N']]') + ']'from d
阅读全文
摘要:1.增加字段alter table Table_Name add dspcode char(200)2.删除字段ALTER TABLE Table_Name DROP COLUMN Column_Name3.修改字段类型ALTER TABLE Table_Name ALTER COLUMN Column_Name New_Data_Type4.sp_rename 改名EXEC sp_rename '[dbo].[Table_1].[filedName1]', 'filedName2', 'COLUMN'更改当前数据库中用户创建对象(如表、列或用户
阅读全文
摘要:在工作当中会经常用到递归,比如菜单的展示。一种方法就是从数据库中取出所有的数据,然后在程序中循环获取符合条件的数据。另外一种方法就是使用SQL直接读取符合条件的数据。对于递归查询,T-SQL和PL/SQL进行了不同的处理。以表Deparment为例表结构为:Id 部门内码,DeptCode 部门编码,ParentDeptId 上级部门内码使用T-SQL:with Dep as(select Id,DeptCode,DeptName from Department where Id=1union allselect d.Id,d.DeptCode,d.DeptName from Depinner
阅读全文
摘要:1:向表中添加字段Alter table [表名] add [列名] [类型]2:删除字段Alter table [表名] drop column [列名]3:修改表中字段类型(可以修改列的类型,是否为空)Alter table [表名] alter column [列名] [类型]4:添加主键Alter table [表名] add constraint [约束名] primary key([列名])5:添加唯一约束Alter table [表名] add constraint [约束名] unique([列名])6:添加表中某列的默认值Alter table [表名] add constr
阅读全文
摘要:DECLARE @DateDATETIMESET @Date=GETDATE()--前一天,给定日期的前一天SELECT DATEADD(DAY,-1,@Date) AS '前一天'--后一天,给定日期的后一天SELECT DATEADD(DAY,1,@Date) AS '后一天'GO--月初,计算给定日期所在月的第一天--这个计算的技巧是先计算当前日期到"1900-01-01"的时间间隔数,然后把它加到"1900-01-01"上来获得特殊的日期--这个技巧可以用来计算很多不同的日期DECLARE @DateDATETIM
阅读全文
摘要:TO_DATE格式(以时间:2007-11-02 13:45:25为例)Year:yy 两位年 显示值:07yyy 三位年 显示值:007yyyy 四位年 显示值:2007 Month: mm number 两位月 显示值:11mon abbreviated 字符集表示 显示值:11月,若是英文版,
阅读全文
摘要:回想一下,距离上次去微软培训SQL SERVER 2012已经有一段时间啦,从讲师打开2012的一瞬间,其实我已经开始想要跃跃欲试这个微软全新的数据平台工具,听闻2012比以前的2008R2那些版本做了很大的升级,而且在于性能上更是采用了前沿技术——列存储,是的SQL Server的读取速度上有了几
阅读全文

浙公网安备 33010602011771号