Spider024

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  sql

1

sql
摘要:SELECT a.p,* FROM tb1 t,( SELECT 5 as id, 1 as p union SELECT 9 as id, 2 as p union SELECT 2 as id, 3 as p union SELECT 1 as id, 4 as p union SELECT 10 as id, 5 as p ) a where t.id=a.id order by a.p 阅读全文
posted @ 2013-12-14 23:17 Spider024 阅读(310) 评论(0) 推荐(0)

摘要:SQLSERVER2012的分页新功能 简介 SQL Server 2012中在Order By子句之后新增了OFFSET和FETCH子句来限制输出的行数从而达到了分页效果。相比较SQL Server 2005/2008的ROW_Number函数而言,使用OFFSET和FETCH不仅仅是从语法角度更加简单,并且拥有了更优的性能。限制返回的行数以下示例使用 OFFSET 和 FETCH 限制查询返回的行数。A.指定整数常量以提供 OFFSET 和 FETCH 值以下示例将一个整数常量指定为 OFFSET 和 FETCH 子句的值。第一个查询返回所有按 DepartmentID 列... 阅读全文
posted @ 2013-12-14 10:12 Spider024 阅读(313) 评论(0) 推荐(0)

摘要:Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field... 阅读全文
posted @ 2013-09-12 10:10 Spider024 阅读(160) 评论(0) 推荐(0)

摘要:一.为什么要引入锁 当多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: ◆丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 ◆脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 ◆不可重复读 A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,锁就是在一段时间内禁止用户做某些操作以避免产生数据不一致 二锁的分类 ◆锁的类别有两种分法: 1.从数据... 阅读全文
posted @ 2013-08-21 14:55 Spider024 阅读(237) 评论(0) 推荐(0)

摘要:换个 阅读全文
posted @ 2013-06-25 11:51 Spider024 阅读(222) 评论(0) 推荐(0)

摘要:create function [dbo].[GetOperateCustGroup] ( @CustomerGuid varchar(36), @StrategyOperateId varchar(36))returns @TempTable table (MaxPrice float,MinPrice float,[Percent] float) ASbegindeclare @CustomerGroupId intselect @CustomerGroupId = CustomerGroupId from T_CustGroupMember where Customer... 阅读全文
posted @ 2013-06-18 09:37 Spider024 阅读(377) 评论(0) 推荐(0)

摘要:以下内容转自:http://wudataoge.blog.163.com/blog/static/80073886200961652022389/一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,... 阅读全文
posted @ 2013-06-18 09:34 Spider024 阅读(320) 评论(0) 推荐(0)

摘要:System.Web.Caching.Cache Insert和Add区别2.1Add方法object Add(string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback);2.2Insert方法void Insert(string key, object value); //永不过期 voi 阅读全文
posted @ 2013-04-26 08:37 Spider024 阅读(494) 评论(0) 推荐(0)

摘要:SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持。这使开发人员可以轻松地创建使用数据库引擎组件在完全不同的数据库之间进行通信的复杂应用程序。开发人员可以使用 Service Broker 轻松生成可靠的分布式应用程序。使用 Service Broker 的应用程序开发人员无需编写复杂的内部通信和消息,即可跨多个数据库分发数据工作负荷。因为 Service Broker 会处理会话上下文中的通信路径,所以这就减少了开发和测试工作。同时还提高了性能。例如,支持网站的前端数据库可以记录信息并将进程密集型任务发送到后端数据库以进行排 阅读全文
posted @ 2013-04-24 17:09 Spider024 阅读(542) 评论(0) 推荐(0)

摘要:第一步:应用程序把查询SQL语句发给服务器端执行。我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。第二步:服务器解析请求的SQL语句。1:SQL计划缓存,经常用查询分析器的朋友大概都知道这样一个事实,往往一个查询语句在第一次运行的时候需要执行特别长的时间,但是如果你马上或者在一定时间内运行同样的语句,会在很短的时间内返回查询结果。原因:1):服务器在接收到查询请求后,并不会马上去数据库查询,而是在数据库中的计划缓存中找是否有相对应的执行计划,如果存在,就直接调用已经编译好的执行计划,节省了执行计划的编译时间。2):如果所查询的行已经存在于数据缓冲 阅读全文
posted @ 2013-04-24 13:26 Spider024 阅读(480) 评论(0) 推荐(0)

摘要:以下两段语句分别是获取表的基本结构和获取表对应的索引信息,直接复制到查询分析器中就可以使用,在每个的最下面有一个输入表名的地方,若不输入则代表查询全部的表。 --1.表结构信息查询 表结构信息查询SELECT TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END, TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''), Column_id=C.column_id, ColumnName=C.name, Prim... 阅读全文
posted @ 2013-04-12 12:36 Spider024 阅读(431) 评论(0) 推荐(0)

摘要:SET IDENTITY_INSERT [dbo].[t_message] ONINSERT INTO [dbo].[t_message] (f_mid )VALUES (55)SET IDENTITY_INSERT [dbo].[t_message] OFFGOselect * from [dbo].[t_message] order by f_mid desc 标识序列dbcc checkident('t_member',reseed,@@IDENTITY)主键View Code select name from sysobjects where parent_obj=ob 阅读全文
posted @ 2013-04-03 14:15 Spider024 阅读(633) 评论(0) 推荐(0)

摘要:两种方式来进行分布式查询: 使用添加链接服务器方式(Add Link Server) 使用特定名称及特定数据源来直接指定(Add Host Names) 其实这两种方式在实际运用中是有区别的: 方式A:Add Link Server方式建立服务器之间关联.创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问. 一般适用于持久的数据操作 对于数据量偏大 服务器之间交付时间长特点. 方式B: Add Host Name 利用域来唯一识别数据库以及数据库表对象. 来实现跨服务器访问. 这种方式一般比较简单 主要适用于对数据需求临时性查询是使用偏多. 不适合... 阅读全文
posted @ 2013-04-03 10:50 Spider024 阅读(346) 评论(0) 推荐(0)

摘要:loading...sp_addlinkedserver创建链接服务器。链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询。在使用 sp_addlinkedserver 创建链接服务器后,可对该服务器运行分布式查询。如果链接服务器定义为 SQL Server 实例,则可执行远程存储过程。sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ] [ , [ @provider= ] 'provider_name' ] [ , [ @dat 阅读全文
posted @ 2013-04-03 09:32 Spider024 阅读(413) 评论(0) 推荐(0)

摘要:1、OPENDATASOURCE 在SQL文中直接用此语句打开数据库示例: OPENDATASOURCE( SQLOLEDB,Data Source=TQDBSV001 ;User ID=fish;Password=2312).RackDB.dbo.CS 此方式较为简单,但存在弊端就是速度很慢。 2、OPENROWSET 包括从 OLE DB 资料来源存取远端资料需要的所有连线资讯。这个方法是在连结伺服器存取资料表的替代方法,而且是使用 OLE DB 连线与存取远端资料的一次、特定的方法。OPENROWSET 函数可以在查询的 FROM 子句中当作资料表名称来参考。根据 OLE DB ... 阅读全文
posted @ 2013-04-03 09:26 Spider024 阅读(2466) 评论(0) 推荐(0)

摘要:1、升级硬件2、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。3、扩大服务器的内存4、增加服务器CPU个数5、对于大的数据库不要设置数据库自动增长,它会降低服务器的性能6、在查询Select语句中用Where字句限制返回的行数,避免表扫描,如果返回不必要的数据,浪费了服务器的I/O资源,加重了网络的负担降低性能。如果表很大,在表扫描的期间将表锁住,禁止其他的联接访问表,后果严重。7、查询时不要返回不需要的行、列8、用select top 100 / 10 Percent 来限制用户返回的行数或者SET ROWCOUNT来限制操作的行9、在IN后面值的列表中,将出现最频繁的 阅读全文
posted @ 2013-04-03 09:25 Spider024 阅读(399) 评论(0) 推荐(0)

摘要:在create table时经常会碰到这样的语句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。语法是collate collation_namecollation_name ::={windows_collation_name}|{sql_collation_name}参数collate_name是应用于表达式、列定义或数据库定义的排序规则的名称。collation_name 可以 阅读全文
posted @ 2013-03-28 15:10 Spider024 阅读(376) 评论(0) 推荐(0)

摘要:纯随笔....--查看表的定义 sp_helpexec sp_help 't_users' --查看表中的数据 SELECT * from t_users --获取有关表的信息 SELECT * from sys.tables --获取有关表列的信息 SELECT * from sys.columns where object_id in (SELECT object_id from sys.tables)SELECT COLUMNPROPERTY( OBJECT_ID('t_zichan'),N'f_zcid','PRECISION&# 阅读全文
posted @ 2013-03-21 15:49 Spider024 阅读(241) 评论(0) 推荐(0)

摘要:SQL Server版语法为了方便说明,数据库使用SQL Server的示例数据库,Northwind和pubs,如果SQL Server中没有的话,可以按下面的方法安装1,下载SQL2000SampleDb.msi,下载地址是:http://www.microsoft.com/downloads/details.aspx?FamilyId=06616212-0356-46A0-8DA2-EEBC53A68034&displaylang=en2,安装后,到默认目录C:\SQL Server 2000 Sample Databases 有instnwnd.sql ,instpubs.sq 阅读全文
posted @ 2013-03-21 14:30 Spider024 阅读(384) 评论(0) 推荐(0)

摘要:基本语法一.创建存储过程create procedure sp_name @[参数名] [类型],@[参数名] [类型]asbegin.........end以上格式还可以简写成:create proc sp_name@[参数名] [类型],@[参数名] [类型]asbegin.........end/*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/二.调用存储过程1.基本语法:exec sp_name [参数名]三.删除存储过程1.基本语法:drop procedure sp_name2.注意事项(1)不能在一个存储过程中删除另一个存储过程,只能调用另一. 阅读全文
posted @ 2013-03-21 13:44 Spider024 阅读(164) 评论(0) 推荐(0)

1