随笔分类 -  数据库SqlServer

摘要:sql server 2014提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了,下面就简单介绍一下sql server 2014的内存数据库的一些特性相信大家对内存数据库的概念并不陌生,之前也有多位大牛介绍过SQL内存数据库的创建方法,我曾仔细 拜读过,有了大致了解,不过... 阅读全文
posted @ 2015-07-27 09:36 郑文亮 阅读(985) 评论(1) 推荐(1) 编辑
摘要:转载原文地址http://www.cnblogs.com/pumaboyd/archive/2008/04/20/1162376.html这周碰到了很多奇怪的问题,有些是莫名的低级错误,有些这是一直以来未发现的错误。其中这个RowNumber()这个问题就是这样。敬德兄写的底层负责自动生成T-SQL... 阅读全文
posted @ 2014-07-24 09:20 郑文亮 阅读(1555) 评论(0) 推荐(0) 编辑
摘要:今天正好需要统计三个网站栏目信息更新情况,而这三个网站的后台采用了不同的数据库管理系统。初步想法是通过建立一个小的Tomcat webapp,进而通过JDBC访问这三个后台数据库,并根据返回的数据生成报表。1 开发环境数据库管理系统:一个是SqlServer 2000,另一个是Oracle 9i,再... 阅读全文
posted @ 2014-05-19 09:15 郑文亮 阅读(8022) 评论(0) 推荐(0) 编辑
摘要:今天使用SqlDependency,结果不起作用,失效,不管数据库怎么修改,这边都没反应,OnChange事件总是不执行,很奇怪。我打开msdn里的例子,代码复制出来,结果没问题,能执行,那剩下来的问题就是比较不同了,看看正规例子和我的代码有那些区别。通过排除法,结果发现,SqlDependency绑定的SqlCommand对象必须要执行一下,才能将SqlDependency对象的HasChange属性设为true,这跟我以前的想法截然不同,我以为SqlDependency对象注册好Onchange事件后,会自动去数据库执行绑定的Command,执行一下,返回HasChange结果。看来写程序 阅读全文
posted @ 2013-06-21 15:47 郑文亮 阅读(1455) 评论(0) 推荐(0) 编辑
摘要:System.Data.SqlClient.SqlDependency类为我们提供了一个关于sql2005的很好的功能 ,虽然这个东西限制有很多很多,但还是有很实用价值的。 我们先看一个演示例子: 例子中先创建一个sql环境,里面插入了一些数据,然后用.net客户端查询,查询结果出来后再去更改数据库,增加一些记录,同时查看.net客户端的表格是否变化。 1、创建sql测试环境SQL code use mastergocreatedatabase dbTestgouse dbTestgocreatetable test(id intidentity(1,1),name varchar(10).. 阅读全文
posted @ 2013-06-21 14:41 郑文亮 阅读(4866) 评论(2) 推荐(1) 编辑
摘要:用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号(')时就会出错!因为插入的字符串被从单引号处截断,造成SQL语句的语法错误!我们在编程当中,经常会遇到在操作数据库时,向表里插入带有单引号的字符串。如果不作处理程序会报错,下面看看我们是怎么的处理它的。用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号(')时就会出错!因为插入的字符串被从单引号处截断,造成SQL语句的语法错误!解决方法:遍历字符串,把一个(')换成两个(' ')就可以了,在C#里,其实用str.Replace("'& 阅读全文
posted @ 2012-10-23 13:23 郑文亮 阅读(29766) 评论(0) 推荐(1) 编辑
摘要:sql server和mysql都是我们经常用到的数据库系统,下面就为您介绍sql server和mysql变量赋值的区别,希望对您能有所启迪。sql server中变量要先申明后赋值:局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的);申明局部变量语法:declare @变量名 数据类型;例如:declare @num int;赋值:有两种方法式(@num为变量名,value为值)set @num=value; 或 select @num=value;如果想获取查询语句中的一个字段值可以用select给变量赋值,如下:select @num=字段名 from 表名 阅读全文
posted @ 2012-09-04 15:47 郑文亮 阅读(548) 评论(1) 推荐(0) 编辑
摘要:参考文献http://blog.csdn.net/andyelvis/article/details/24468651、把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:create table customers(id int auto_increment primary key not null, name varchar(15));insert into customers(name) values("name1"),("name2");select id f 阅读全文
posted @ 2012-08-21 16:13 郑文亮 阅读(557) 评论(0) 推荐(0) 编辑
摘要:触发器经常用于加强数据的完整性约束和业务规则等。在MySQL与SQL操作中经常会用到,下文中国就为大家讲述MySQL与SQL的触发器的不同写法,希望对大家能够有所帮助。触发器作用:当在SQL、MySQL数据库中一张表中插入一条记录时,触动触发器,使同一数据库的另一张表插入相同记录。 在学习的过程中,发现两者的写法是不同的。 1、在SQL中建立两张表sql_test,sql_tem。(两张表的字段是一样的) 复制代码 代码如下:create table sql_test ( id int, name varchar(16) )create table sql_tem ( id int, name 阅读全文
posted @ 2012-08-21 15:54 郑文亮 阅读(494) 评论(0) 推荐(0) 编辑
摘要:在项目中用程序中嵌入mdf文件的方式来进行SQLServer数据库开发非常方便,用来发布开源项目等很方便,点击就可以运行,免部署,特别是在教学中用起来更加方便,老师不用先将数据库文件detach再发给学生,学生也不用将数据库文件attach。采用项目中嵌入mdf文件的方式,老师把讲课的代码发给学生,学生打开就可以运行。我在传智播客.net培训班教学中就是用的这种方式进行讲解。在ASP.net程序中只要将mdf文件放到项目的App_Data文件夹即可,在连接字符串中使用Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CallCe 阅读全文
posted @ 2012-05-10 06:11 郑文亮 阅读(313) 评论(1) 推荐(1) 编辑
摘要:declare @sql as varchar(8000)select @sql=''Select @sql=@sql+【字段名】from 【表名】select @sql 阅读全文
posted @ 2012-04-18 18:15 郑文亮 阅读(3135) 评论(0) 推荐(0) 编辑
摘要:SQL中的叠加(小提示):有如下的需求,用SQL实现把结果集合转换为字符串. 如下: 可以有至少如下三种方法来做转换: 1. 在.NET中通常的做法是先取出结果集放在DataTable中,再利用foreach循环取出每个字段串联起来. 亦如这样,在SQL中也有相同的做法,就是用游标(CURSOR)做循环,示例代码如下: CursorCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->declare @mytable table(Col1 var. 阅读全文
posted @ 2012-04-18 17:43 郑文亮 阅读(966) 评论(0) 推荐(0) 编辑
摘要:一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可。如果WITH AS短语所定义的表名被调用两次以上,则优化器会自动将WITH AS短语所获取的数据放入一个TEMP表里,如果只是被调用一次 阅读全文
posted @ 2012-04-17 08:43 郑文亮 阅读(801) 评论(0) 推荐(1) 编辑
摘要:1.JOIN和UNION区别join 是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。JOIN用于按照ON条件联接两个表,主要有四种:INNER JOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。我理解的是只要记录不符合ON条件,就不会显示在结果集内。LEFT JOIN / LEFT OUTER JOIN:外部联接两个表中的记录,并包含左表中的全部记录。如果左表的某记录在右表中没有匹配记录,则在相关联的结果集中右表的所有选择列表列均为空值。理解为即使不符合ON条件,左表 阅读全文
posted @ 2012-04-17 08:32 郑文亮 阅读(12343) 评论(0) 推荐(0) 编辑
摘要:declare @Q_ID uniqueidentifierset @Q_ID = dbo.uf_GetParamValueByName(@Params,'@指标ID');declare @QAExp_ID char(36)--指标属性公式IDset @QAExp_ID='3D2B8F3F-0B7E-46FD-9B33-050F846C2869'declare @temp_qid table(QID char(36),ExpValue nvarchar(max))--临时表变量获得指标根IDdeclare @QIDtempchar(36),@express nv 阅读全文
posted @ 2012-04-11 11:20 郑文亮 阅读(1135) 评论(2) 推荐(1) 编辑
摘要:NO1 新功能--------------------------举几个例子来简单说明 这些例子我引用了Northwind库。 1. TOP 表达式 SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了。--前n名的订单declare@nint set@n=10 selectTOP(@n)*fromOrders2. 分页 不知各位过去用SQL Server 2000是怎么分页的,大多都用到了临时表。SQL Server 2005一句话就支持分页,性能据说也非常不错。--按Freight从小到大排序,求20到30行的结果 select*from( selectOrderI 阅读全文
posted @ 2012-04-09 09:22 郑文亮 阅读(509) 评论(0) 推荐(1) 编辑
摘要:CREATE TABLE table1( [ID] [bigint] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](128) NOT NULL, [class] int not null, [date] datetime not null)class 表示分类编号。 分类数不固定, 至少有上千种分类 date 表示该条记录被更新的时间 我们现在想获得每个分类最新被更新的5条记录。解决方案select id,name,class,date from(select id,name,class,date ,row_number() ove... 阅读全文
posted @ 2012-04-06 14:43 郑文亮 阅读(561) 评论(0) 推荐(1) 编辑
摘要:--图片管理 下载逻辑DECLARE @paperGuids varchar(200)DECLARE @paperGuidFirst varchar(200)DECLARE @paperNameFirst varchar(200)DECLARE @DepartmentGuid varchar(200)DECLARE @DepartmentName varchar(200)declare @paperGuidPosition int DECLARE @guid varchar(50)-- 给变量赋值(初值)set @guid = '00231a0f771e4c22ab6803399e8b 阅读全文
posted @ 2012-02-14 16:57 郑文亮 阅读(310) 评论(0) 推荐(0) 编辑
摘要:一、SQL 基础知识 1、DDL(数据定义语言) 1)创建数据表 --创建数据表 create table Test(Id int not null, Age char(20)); --创建数据表 create table T_Person1(Id int not null, Name nvarchar(50), Age int null); --创建表,添加外键 Create table T_Students( StudentNo char(4), CourseNo char(4), Score int, Primary key(StudentNo), Foreign key(CourseN 阅读全文
posted @ 2011-08-09 08:57 郑文亮 阅读(584) 评论(0) 推荐(0) 编辑
摘要:经常听说SQL Server最难的部分是性能优化,不禁让人感到优化这个工作很神秘,这种事情只有高手才能做。很早的时候我在网上看到一位高手写的博客,介绍了SQL优化的问题,从这些内容来看,优化并不都是一些很复杂的问题,掌握了基本的知识之后也可以尝试优化自己的SQL程序,甚至是其他相关的程序。优化是一些工作积累之后的经验总结和代码意识,只要平时注意积累,你也可以做优化的工作。这一篇随笔是转载,不过我强烈推荐给所有对数据库优化有兴趣的博友,读了这一篇之后下一次别人谈论优化的时候我们这些小菜就可以跟别人侃侃而谈了,不至于面面相觑,不知所措。首先给出地址:http://blog.csdn.net/hai 阅读全文
posted @ 2011-08-03 11:28 郑文亮 阅读(362) 评论(0) 推荐(0) 编辑