明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  SQL Server

摘要:临时表:Test/****** 对象: Table [dbo].[Test] 脚本日期: 05/10/2013 11:42:07 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Test]( [ID] [int] IDENTITY(1,1) NOT NULL, [UserID] [int] NOT NULL, [UserName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_Test] PRIM... 阅读全文

posted @ 2013-05-10 11:49 且行且思 阅读(11613) 评论(4) 推荐(2) 编辑

摘要:#region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// <param name="sourceDataTable">数据源表</param> /// <param name="targetTableName">服务器上目标表</param> /// <param name="mapping">创建新的列映射,并使用列序号引用源列和目 阅读全文

posted @ 2013-04-10 08:57 且行且思 阅读(6661) 评论(0) 推荐(0) 编辑

摘要:/*sql 语句如何插入N 年 每天日期by 2013-3-11生成表 SQL:CREATE TABLE [dbo].[Tts_System_Date]( [SD_Date] [smalldatetime] NOT NULL, CONSTRAINT [PK_Tts_System_Date] PRIMARY KEY CLUSTERED ( [SD_Date] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]*/declare @i datetimedeclare @today smalldatetimedeclare... 阅读全文

posted @ 2013-03-11 18:01 且行且思 阅读(2599) 评论(0) 推荐(0) 编辑

摘要:简介SQL Server Profiler的中文意思是SQL Server事件探查,一个Sql的监视工具,可以具体到每一行Sql语句,每一次操作,和每一次的连接。感觉这个工具的作用还是很大的,给大家分享一下,对于新手了解Sql语句的写法和提高语句的性能方法有很大的帮助。SQL Server Profiler使用方法 我们单击开始--程序--Microsoft SQL Server 2005--性能工具--SQL Server Profiler 如下图然后会出现如下界面我们单击文件---【新建跟踪(N)...】,这是一个多窗口多任何的工具,我们可以同时新建不同的跟踪窗口,也可以是不同的数据库接着 阅读全文

posted @ 2013-02-19 11:24 且行且思 阅读(55425) 评论(10) 推荐(11) 编辑

摘要:写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了。通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO ,TIME。介绍如下:SET STATISTICS PROFILE ON:显示分析、编译和执行查询所需的时间(以毫秒为单位)。 SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。 SET STATISTICS TIME ON:显示每个查询执行后的结果集,代表查 阅读全文

posted @ 2013-02-19 09:55 且行且思 阅读(3118) 评论(0) 推荐(1) 编辑

摘要:有时工作需要需要把当前表的数据,移到历史表中,而历史表基本是以时间(年)为后缀来命名历史表的,如 A_2011,A_2012,在移数据时,要按数据的时间,移到不同的表中,且由于如果数据有同步。一次处理的数据不能太大。否则同步链会被Block.所以需要批理处理。下面是一个通用的写法,可以作为参考!(这个应该是出自邹建大侠之手,因为需要写这样的处理,去找了下类似代码,找到的)-- row batch: 100-- row Process limit: 50000-- data keep days: 90-- */CREATE PRO... 阅读全文

posted @ 2012-11-23 12:38 且行且思 阅读(1732) 评论(0) 推荐(2) 编辑

摘要:当我们插入一行记录时,我们可以用function:SCOPE_IDENTITY() 得到可是当我们插入一组数据时,如果想得到这一组插入数据的idntity值时,可以通过下面的SQL得得到:DECLARE @TMP TABLE(ID INT, name char(10) )declare @test1 table( id int identity primary key , name char(10) )insert @test1output inserted.*into @TMPselect a.namefrom... 阅读全文

posted @ 2012-11-23 11:48 且行且思 阅读(261) 评论(0) 推荐(0) 编辑

摘要:返回刚插入记录的ID :SELECT @@IDENTITYsql output 更新记录时得到更新记录的ID值 DECLARE @TMP TABLE(ID INT) update tt set name = 'asder' OUTPUT DELETED.hid INTO @TMP where lid=3 SELECT ID FROM @TMP;--SELECT @@IDENTITY 阅读全文

posted @ 2012-11-23 11:46 且行且思 阅读(974) 评论(0) 推荐(0) 编辑

摘要:DECLARE @recount intselect @recount=count(Room_ID) from Tts_Hotelselect CONVERT(VARCHAR(10),GETDATE(),112)+RIGHT('0000'+LTRIM(@recount),4) from Tts_HotelSelect max(cast(right(Pt_Name,4) as int)) From Tts_Product_Templet @InDate 是可以生成那个月的订单号,如果不要,那么就直接是GETDATE()Create FUNCTION [dbo].[F_OAGetN 阅读全文

posted @ 2012-09-10 18:52 且行且思 阅读(14200) 评论(0) 推荐(0) 编辑

摘要:ALTER trigger [update_Tts_Hotel_Master]on [dbo].[Tts_Hotel_Name]after update --insert, update, deleteas--列级触发器:是否更新了酒店名称 if (update(H_Name)) begin update Tts_Hotel_Masterset Tts_Hotel_Master.Hm_hName =inserted.H_Namefrom Tts_Hotel_Master,insertedwhere Tts_Hotel_Master.Hm_Hid=Inserted.H_IDendALT... 阅读全文

posted @ 2012-05-24 14:06 且行且思 阅读(881) 评论(0) 推荐(0) 编辑

摘要:select ArticleId, Title,CreateDate from (SELECT top 2 * FROM [Article] Where ArticleId <10 Order By NewId() ) AS AUNION select ArticleId,Title,CreateDate from (SELECT top 8 * FROM [Article] Where ArticleId >10 Order By NewId() ) AS B//*********************************************************** 阅读全文

posted @ 2012-03-02 13:58 且行且思 阅读(1044) 评论(0) 推荐(0) 编辑

摘要:SQLServer的查询分析器和企业管理器给了我们很大便利,使用起来很方便,真要感谢微软。但是在操作的过程中,也很容易出现问题,少写一个Where语句,就会带来灾难,几年或者几十年的经营数据如果被误删除,而且无法恢复的话,老板非K死你不可,即便每天备份,但如果只能恢复到昨天的数据,那也是无法接受的,因此必须要能恢复到误删除前的那个时间点的数据,幸好,SQLServer 的 日志恢复提供了这种可行性。进行日志恢复的先决条件1)有一个库备份文件 (aaa.bak)2)有日志备份文件 (aaa.log)3)在库备份文件时间-日志备份文件时间间隔内,日志未被截断过一定要注意以上的几个先决条件,很多朋友 阅读全文

posted @ 2011-09-14 21:13 且行且思 阅读(2654) 评论(0) 推荐(1) 编辑

摘要:/********************************************************************************作用:检查xx与应用表的重复性,同时向两个表中同时插入数据>>新增/删除Author:xxFinishDateTime:2011-3-1511:31:13ReturnValue:-1:存储过程执行失败-2:存在相同的主键Insert:返回插入自动IDUpdate:返回更新记录数Delete:返回删除记录数************************************************************ 阅读全文

posted @ 2011-03-17 11:02 且行且思 阅读(747) 评论(0) 推荐(0) 编辑

摘要:1.什么是事务:事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为最小的控制单元来使用的。他包含的所有数据库操作命令作为一个整体一起向系提交或撤消,这一组数据库操作命令要么都执行,要么都不执行。2.事务的语句开始事物:BEGIN TRANSACTION提交事物:COMMIT TRANSACTION回滚事务:ROLLBACK TRANSACTION3.事务的4个属性①原子性(Atomicity):事务中的所有元素作为一个整体提交或回滚,事务的个元素是不可分的,事务是一个完整操作。②一致性(Consistemcy):事物完成时,数据必须是一致的,也就是说,和事物开始之前,数据 阅读全文

posted @ 2011-03-16 17:38 且行且思 阅读(615) 评论(0) 推荐(0) 编辑

摘要:DateTimed=Convert.ToDateTime(System.DateTime.Now.ToString("yyyy-MM-dd"));longlongBegin=d.Ticks;longlongEnd=d.AddDays(1).AddMilliseconds(-1).Ticks;stringsql="SELECT*FROMtbWHERETricksFieldBETWEEN@loginBeginAND@lengEnd";SqlCommandcmd=newSqlCommand();cmd.Parameters.Add("@loginBe 阅读全文

posted @ 2011-03-12 09:57 且行且思 阅读(2350) 评论(0) 推荐(0) 编辑

摘要:自从SQL Server 2005推出后,因为有了更好的性能,所以有很多与SQL Server 2000相关的应用程序需要升级到这个版本。但如何才能以最快最方便的方式把其中的表结构及对应的数据和数据的其它的格式导入到SQL Server 2005呢?SQL Server 2005的数据又如何导入到SQL Server 2000上?我们分别来看下面实现的方式:  1) SQL Server 2000数据导入到SQL Server 2005中  好的是微软的产品一般都对之前的产品比较兼容,在SQL Server 2000中,只需要把其数据进行备份,在对应的数据库中点击右键,然后选择“所 阅读全文

posted @ 2011-02-17 13:03 且行且思 阅读(288) 评论(0) 推荐(0) 编辑

摘要:数据库镜像相当于2台服务器提供容错功能,其实原理是进行日志文件的复制及恢复操作保持数据的同步 ,一般镜像服务2台服务器即可,但出现故障需要手动进行切换,如果增加一台见证服务器就形成了自动切换的功能,见证服务器的自动切换操作一般在10秒内完成,所以对用户来所感觉不到任何异样。建3台虚拟机,均是windows2003+sql2008,各分配内存为500M。拓补图如下:850)this.width=850" height=393计算机名分别是:sql-1===用作主服务器 =ip:10.40.1.10sql-2===用作镜像服务器 =ip:10.40.1.11sql-3===用作见证服务器 =ip 阅读全文

posted @ 2011-01-25 20:01 且行且思 阅读(1442) 评论(2) 推荐(1) 编辑

摘要:Transact-SQL提供了4个排名函数: RANK(),DENSE_RANK(),ROW_NUMBER(),NTILE()下面是对这4个函数的解释:RANK() 返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。如果两个或多个行与一个排名关联,则每个关联行将得到相同的排名。例如,如果两位销售员具有相同的SalesYTD值,则他们将并列第一。由于已有两行排名在前,所以具有下一个最大SalesYTD的销售人员将排名第三。因此,RANK 函数并不总返回连续整数。DENSE_RANK()返回结果集分区中行的排名,在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。如果有两 阅读全文

posted @ 2011-01-25 19:59 且行且思 阅读(383) 评论(0) 推荐(0) 编辑

摘要:在设计数据库时,经常没有考虑到表分区的问题,往往在数据表承重的负担越来越重时,才会考虑到分区方式,这时,就涉及到如何将普通表转换成分区表的问题了。 那么,如何将一个普通表转换成一个分区表呢?说到底,只要将该表创建一个聚集索引,并在聚集索引上使用分区方案即可。 不过,这回说起来简单,做起来就复杂了一点。还是接着上面的例子,我们先使用以下SQL语句将原有的Sale表删除。view plaincopy to clipboardprint?--删除原来的数据表 drop table Sale --删除原来的数据表drop table Sale 然后使用以下SQL语句创建一个新的普通表,并在这个表里插 阅读全文

posted @ 2011-01-25 19:56 且行且思 阅读(207) 评论(0) 推荐(0) 编辑

摘要:在创建完分区表后,可以向分区表中直接插入数据,而不用去管它这些数据放在哪个物理上的数据表中。接上篇文章,我们在创建好的分区表中插入几条数据:/mce:scriptmce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js" mce_src="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js%22%3E%3C/mce:script%3E% 阅读全文

posted @ 2011-01-25 19:54 且行且思 阅读(455) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示