SQL语句
文章平均质量分 72
ulark
这个作者很懒,什么都没留下…
展开
-
得到一个时间段内连续日期查询(转)
<br />得到连续日期需要借助一个有连续序号的表,参考如何得到连续序号<br />--〉生成连续日期的方法<br />IF OBJECT_ID('tempdb..#t') IS NOT NULL DROP TABLE #t<br />GO<br />create table #t(id int identity,Dt varchar(10))<br />go<br />declare @starttime datetime,@endtime datetime<br />set @starttime =原创 2010-08-16 15:17:00 · 744 阅读 · 0 评论 -
SQL server2005创建计划任务
我们在开发过程中,经常遇到这样问题,就是要求定期进行数据库的检查,如果发现特定数据,那么就要进行某项操作,这个需求呢,可以利用Windows的计划任务,定期执行某一个应用程序,去检索数据;也可以让程序自己控制。其实SQL Server自己也可以创建计划任务,定期进行执行。如果数据库服务器允许,可以考虑采用这种方式。在SQL server2005创建计划任务具体步骤如下:首先要确认 sql serv原创 2010-03-09 18:16:00 · 501 阅读 · 0 评论 -
SQLServer 2005 实现排序报表的利器 排序函数RANK()、DENSE_RANK()、NTILE()和ROW_NUMBER()
SQLServer 2005 新增了排名函数,一共四个,其中RANK() DENSE_RANK() NTILE()这三个函数是制作带有排名列报表的利器,ROW_NUMBER()函数在分页存储过程中被广泛使用 排名函数有一个明显的共性,就是与over()子句配合使用与排名函数一起使用的over()子句有两个参数 partition 分组方式 order by 排序方式 RANK(原创 2010-03-09 18:11:00 · 518 阅读 · 0 评论 -
sql查询,nolock写还是不写,这是一个问题
在做过的很多项目中,发现大家不管对什么表,逢select必定加上nolock(或者with(nolock)),好像已经是制度化的一种东西。有领导高人解释说加上nolock可以提高查询速度,不影响对数据表的其他并发操作。 但是真有必要每个查询都加nolock吗?个人认为加不加nolock还是值得我们根据实际情况斟酌一番的(至少需要知其然然后知其所以然吧)。下面就来简单分析一下加不加nolock原创 2010-03-09 18:03:00 · 1609 阅读 · 0 评论 -
OPENXML
--使用 OPENXML 执行简单的 SELECT 语句--首先调用 sp_xml_preparedocument 存储过程以获得文档句柄。此文档句柄传递给 OPENXML。--OPENXML 语句说明了以下信息: --rowpattern (/ROOT/Customer) 标识要处理的 节点。--flags 参数值设置为 1,表示以属性为中心的映射。因此,XML 属性映射到 SchemaDec原创 2009-12-25 13:10:00 · 728 阅读 · 0 评论 -
关于存储过程局部变量
IF(1=1) BEGIN DECLARE @I INT SET @I = 10 ENDELSE BEGIN PRINT55 END SELECT @I 输出结果是:10局部变量@I 外面可见原创 2009-12-25 10:12:00 · 1545 阅读 · 0 评论 -
SQL XML
--Creating xml Data Type ColumnsCREATE TABLE dbo.Book(BookID int IDENTITY(1,1) PRIMARY KEY,ISBNNBR char(10) NOT NULL,BookNM varchar(250) NOT NULL,AuthorID int NOT NULL,ChapterDESC XML NULL)DECLARE原创 2009-12-25 10:04:00 · 582 阅读 · 0 评论 -
SQL SERVER临时表的使用
drop table #Tmp --删除临时表#Tmpcreate table #Tmp --创建临时表#Tmp( ID int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1 WokNo varchar(50), primary key (ID)原创 2009-12-25 10:02:00 · 924 阅读 · 0 评论 -
xml procedure
DECLARE @XMLdoc XMLSET @XMLdoc = 2009-12-30 2009-12-30DECLARE @docpointer intEXEC sp_XML_preparedocument @docpointer OUTPUT, @XMLdocSELECT *FROM OPENXML (@docpointer, /Book/Chapters/Chapter,1)原创 2009-12-25 11:18:00 · 630 阅读 · 0 评论 -
数据库设计技巧系列(三)——选择键和索引
选择键和索引1. 数据采掘要预先计划我所在的市场部门一度要处理8 万多份联系方式,同时填写每个客户的必要数据(这绝对不是小活)。我从中还要确定出一组客户作为市场目标。当我从最开始设计表和字段的时候,我试图不在主索引里增加太多的字段以便加快数据库的运行速度。然后我意识到特定的组查询和信息采掘既不准确速度也不快。结果只好在主索引中重建而且合并了数据字段。我发现有一个指示计划相当关键——当我想创原创 2010-02-10 11:59:00 · 403 阅读 · 0 评论 -
注意细节:存储过程的重编译
我们都知道,当存储过程引用的表改变时,SQL Server会重新编译该存储过程。但是当我们增加一个有助于存储过程执行效率的索引时,SQL Server却不会重新编译该存储过程。只有当存储过程高速缓存被冲刷时(SQL Server重新启动),存储过程才会被重新编译。如果想要强制编译一个存储过程,可以调用系统存储过程:当一张表涉及到的存储过程很多的时候,可以直接指定表(视图)名来重新编译相关的对象原创 2010-02-10 11:49:00 · 581 阅读 · 0 评论 -
数据库设计技巧系列(一)——设计数据库之前
设计数据库之前1. 考察现有环境在设计一个新数据库时,你不但应该仔细研究业务需求而且还要考察现有的系统。大多数数据库项目都不是从头开始建立的;通常,机构内总会存在用来满足特定需求的现有系统(可能没有实现自动计算)。显然,现有系统并不完美,否则你就不必再建立新系统了。但是对旧系统的研究可以让你发现一些可能会忽略的细微问题。一般来说,考察现有系统对你绝对有好处。— Lamont Adams原创 2010-02-10 12:01:00 · 473 阅读 · 0 评论 -
据库设计技巧系列(二)——设计表和字段
设计表和字段1. 检查各种变化我在设计数据库的时候会考虑到哪些数据字段将来可能会发生变更。比方说,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。所以,在建立系统存储客户信息时,我倾向于在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化。— Shropshire Lad2. 采用有意义的字段名有一回我参加开发过一个项目原创 2010-02-10 12:00:00 · 523 阅读 · 0 评论 -
[转]SET TRANSACTION ISOLATION LEVEL (Transact-SQL)
SET TRANSACTION ISOLATION LEVEL (Transact-SQL)控制到 SQL Server 的连接发出的 Transact-SQL 语句的锁定行为和行版本控制行为。 Transact-SQL 语法约定 语法 SET TRANSACTION ISOLATION LEVEL { READ UNCOMMIT原创 2010-03-09 18:05:00 · 519 阅读 · 0 评论 -
转载:SQL Server中临时表与表变量的区别
我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量。在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会原创 2010-03-09 18:15:00 · 369 阅读 · 0 评论 -
内连接和外连接
内连接也叫连接(inner join),是最早的一种连接,最早被称为普通连接或自然连接。内连接是从结果中删除其他被连接表中没有匹配行的所有行,所以内连接可能会丢失信息。外连接则扩充了内连接的功能,会把内连接中删除表源中的一些保留下来,由于保留下来的行不同,把外连接分为左外连接、右外连接和全外连接这3种连接。1.左外连接左外连接保留了第一个表的所有行,但只包含第二个表与第一表匹配的行。第原创 2010-03-10 13:57:00 · 660 阅读 · 0 评论 -
枢纽表达式PIVOT和UNPIVOT的简单用法 (转)
<br />一:前言<br />最近在论坛上面看到一些提问涉及到行列的旋转,想到SQL Server 2005新增的枢纽表达式正好可以实现这样的用法。<br /> <br />二:可行性分析<br />PIVOT 和 UNPIVOT 是可以在查询的 FROM 子句中指定的新的关系运算符。它们对一个输入表值表达式执行某种操作,并且产生一个输出表作为结果。PIVOT 运算符将行旋转为列,并且可能同时执行聚合。它基于给定的枢轴列扩大输入表表达式,并生成一个带有与枢轴列中的每个唯一值相对应的列的输出表。UNPIVO转载 2010-08-04 11:01:00 · 657 阅读 · 0 评论 -
SQl使用方法总结
下列语句部分是Mssql语句,不可以在access中使用。SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库Code highlighting pr转载 2010-04-07 10:07:00 · 841 阅读 · 0 评论 -
如何创建高性能的索引
设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。设计MySql索引的时候有一下几点注意:1,创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致原创 2010-04-19 16:24:00 · 509 阅读 · 0 评论 -
海量数据查询优化
数据库优化查询计划的方法数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行、企业、政府等部门最为重要的计算机应用之一。从大多数系统的应用实例来看,查询操作在各种数据库操作中所占据的比重最大,而查询操作所基于的SELECT语句在SQL语句中又是代价最大的语句。举例来说,如果数据的量积累到一定的程度,比如一个银行的账户数据库表信息积累到上百万甚至上千原创 2010-04-19 10:43:00 · 514 阅读 · 0 评论 -
简单但有用的SQL脚本
行列互转Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->create table test(id int,name varchar(20),quarter int,profile int) insert into test values(1,转载 2010-04-12 10:07:00 · 684 阅读 · 1 评论 -
bcp命令详解
bcp 实用工具在 Microsoft? SQL Server? 2000 实例和数据文件之间以用户指定的格式复制数据。语法bcp {[[database_name.][owner].]{table_name | view_name} | "query"} {in | out | queryout | format} data_file [-m max_errors] [-f原创 2010-01-14 13:40:00 · 1160 阅读 · 0 评论 -
xp_cmdshell 自己收藏
一、简介 xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。 二、安全隐患 由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号(如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,原创 2010-01-14 11:45:00 · 599 阅读 · 0 评论 -
SQL锁机制和事务隔离级别(转)
NOLOCK和READPAST的区别。1.开启一个事务执行插入数据的操作。BEGIN TRAN tINSERT INTO CustomerSELECT a,a2.执行一条查询语句。SELECT * FROM Customer WITH (NOLOCK)结果中显示”a”和”a”。当1中事务回滚后,那么a将成为脏数据。(注:1中的事务未提交) 。NOLOCK表明没有原创 2010-01-08 15:11:00 · 493 阅读 · 0 评论 -
xml 数据类型列的索引
XML 实例作为二进制大型对象 (BLOB) 存储在 xml 类型列中。这些 XML 实例可以很大,并且存储的 xml 数据类型实例的二进制表示形式最大可以为 2 GB。如果没有索引,运行时将拆分这些二进制大型对象以计算非常耗时的查询。例如,请看以下查询:--WHERE CatalogDescription.exist (/PD:ProductDescription/@ProductMode原创 2010-01-04 17:14:00 · 672 阅读 · 0 评论 -
Update....FROM...
将第二行的Products列更新到第一行的Products列原创 2010-01-05 12:37:00 · 470 阅读 · 0 评论 -
SQL XML DELETE
--A. 从存储在非类型化的 xml 变量中的文档中删除节点DECLARE @myDoc xmlSET @myDoc = Some text 1 Manufacturing step 1 at this work center Manufacturing step 2 at this work centerSELECT @myDoc-- delete an attributeSET原创 2010-01-04 15:39:00 · 720 阅读 · 0 评论 -
SQL Server中“加锁选项”的功能说明
1 如何锁一个表的某一行 A 连接中执行 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ begin tran select * from tablename with (rowlock) where id=3原创 2010-03-09 16:29:00 · 476 阅读 · 0 评论 -
SQL行列轉換方法(詳細例子)
http://www.cnblogs.com/silverLee/archive/2009/11/11/1600638.html原创 2009-12-02 18:35:00 · 486 阅读 · 0 评论 -
SQL Server日期格式的转换(收藏)
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如:select getdate()2004-09-12 11:06:08.177这对于在要不同数据库间转移数据或者习惯oracle日期格式YYYY-MM-DD HH24:MI:SS的人多少有些不方便.我整理了一下SQL Server里面可能经常会用到的日期格式转换方法:举例如下:s原创 2009-12-02 18:20:00 · 634 阅读 · 0 评论 -
通过SQL存储过程删除过期的数据库Bak备份文件
1.先启用 xp_cmdshell 扩展存储过程: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Use MasterGOExec sp_configure show advanced options, 1GOReconfigure原创 2009-12-02 18:05:00 · 559 阅读 · 0 评论 -
SQL函数
SQL函数 在SQL中,函数对数据或数据组执行操作,然后返回需要的值。函数表达式可以出现在SELECT列表中,或者在任何允许出现的位置上。SQL包含了七种函数:(1)聚合函数:返回汇总值。(2)转型函数:将一种数据类型转换为另外一种。(3)日期函数:处理日期和时间。(4)数学函数:执行算术运算。(5)字符串函数:对字符串、二进制数据或表达式执行操作。(6)系统函数:从数据库返回原创 2010-01-14 16:18:00 · 624 阅读 · 0 评论 -
教你几个用BULK INSERT命令导入数据的小窍门
教你几个用BULK INSERT命令导入数据的小窍门 如果你从事与数据库相关的工作,有可能会涉及到将数据从外部数据文件插入倒SQL Server的操作。本文将为大家演示如何利用BULK INSERT命令来导入数据,并讲解怎样通过改变该命令的一些选项以便更方便且更有效地插入数据。 BULK INSERT 在SQL Server中,BULK INSERT是用来将外部文件以一种特定的格式加载到原创 2010-01-15 17:01:00 · 903 阅读 · 0 评论 -
在全文索引中同义词的使用
在全文索引中同义词的使用 /*建立测试环境 WINXP(SP3)+SQL SERVER2005(SP3)*/if object_id(tb) is not null drop table tbgocreate table tb(id int identity(1,1), title varchar(200), detail varchar(1000原创 2010-01-15 09:43:00 · 1273 阅读 · 0 评论 -
SQL Server最受欢迎技巧:解读DBA
【IT168 技术分析】在向2009年告别之际,我们来回顾一下过去的一年中最受欢迎的SQL Server技巧,包括了OPENROWSET、FILESTREAM等函数的用法、密码工具介绍以及DBA日常工作建议等内容。 通过对这些精华文章的再次回顾,希望可以帮助您梳理一下这一年以来的工作以及学习心得,对未来一年更进一步打下更坚实的基础。 微软SQL Server中的批量复制程序(Bulk原创 2010-01-14 11:36:00 · 2589 阅读 · 0 评论 -
sql 里的 update 实现联合表更新
1.update a set a.nickname=b.nickname from tab1 a,tab2 b where a.username=b.username 2.Update student_score setstudent_score.level=level_about.level fromlevel_about where student.scorebetwee原创 2009-11-05 17:12:00 · 499 阅读 · 0 评论 -
谈SQL Server 2005中的T-SQL增强
1、varchar(max)、nvarchar(max)和varbinary(max)数据类型最多可以保存2GB的数据,可以取代text、ntext或image数据类型。 CREATE TABLE myTable(id INT,content VARCHAR(MAX)) 2、XML数据类型 XML数据类型允许用户在SQL Server数据库中保存XML片段或文档。 错误处理 Erro原创 2009-11-05 13:55:00 · 398 阅读 · 0 评论 -
从算法入手讲解SQL Server的典型示例
Server数据库中实现最优最简的整个过程。 算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键。在计算机世界中,算法无处不在。数据库是存储数据和执行大批量计算的场所,在数据库中使用一些简单的SQL命令,进行存储、查询、统计、以解决现实世界中的问题已经是屡见不鲜。随着数据量的大幅度增加和业务规则的日益复杂,越来越需要一种专门的方法来满足效率和准确性方面的要求。如何把解决问题的复杂算法转换原创 2009-11-05 13:41:00 · 443 阅读 · 0 评论 -
Transact-SQL语句进行导入导出[转]
1.在SQL SERVER里查询access数据:-- ======================================================SELECT * FROM OpenDataSource( Microsoft.Jet.OLEDB.4.0,Data Source="c:/DB.mdb";User ID=Admin;Password=)...表名 s原创 2009-11-05 17:17:00 · 429 阅读 · 0 评论 -
MS SQL系统存储过程览要
sp_databases --列出服务器上的所有数据库 sp_server_info --列出服务器信息,如字符集,版本和排列顺序 sp_stored_procedures--列出当前环境中的所有存储过程 sp_tables --列出当前环境中所有可以查询的对象 sp_start_job --立即启动自动化任务 sp_stop_job --停止正在执行的自动化任务 sp_password --添原创 2009-11-05 17:05:00 · 554 阅读 · 0 评论