10 2011 档案

摘要:执行下面格式化时间和日期的T-SQL脚本,在数据库查询分析器中示范了SQL Server中的大多数可用的时间数据格式SELECTconvert(varchar,getdate(),100)--monddyyyyhh:mmAM(orPM)--1031201111:33PMSELECTconvert(varchar,getdate(),101)--mm/dd/yyyy-10/31/2011SELECTconvert(varchar,getdate(),102)--yyyy.mm.dd--2011.10.31SELECTconvert(varchar,getdate(),103)--dd/m... 阅读全文
posted @ 2011-10-31 23:46 qingsong_do 阅读(375) 评论(0) 推荐(0)
摘要:备份test数据库BackupDatabase[test]Todisk='c:\test.bak'WithPassword='123',init恢复test数据库Restore Database [test] From disk='c:\test.bak'WithPassword='123' 阅读全文
posted @ 2011-10-31 23:02 qingsong_do 阅读(187) 评论(0) 推荐(0)
摘要:BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。本文介绍如何利用BCP导入导出数据。 BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。BCP可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出。在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。下面将详细讨论如何利用BCP导入导出数据。1. BCP的主要参... 阅读全文
posted @ 2011-10-30 12:50 qingsong_do 阅读(2014) 评论(0) 推荐(0)
摘要:数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过 阅读全文
posted @ 2011-10-30 11:01 qingsong_do 阅读(812) 评论(0) 推荐(0)
摘要:一、了解你用的工具不要轻视这一点,这是我在这篇文章中讲述的最关键的一条。也许你也看到有很多的SQL Server程序员没有掌握全部的T-SQL命令和SQL Server提供的那些有用的工具。“什么?我要浪费一个月的时间来学习那些我永远也不会用到的SQL命令???”,你也许会这样说。对的,你不需要这样做。但是你应该用一个周末浏览所有的T-SQL命令。在这里,你的任务是了解,将来,当你设计一个查询时,你会记起来:“对了,这里有一个命令可以完全实现我需要的功能”,于是,到MSDN查看这个命令的确切语法。二、不要使用游标让我再重复一遍:不要使用游标。如果你想破坏整个系统的性能的话,它们倒是你最有效.. 阅读全文
posted @ 2011-10-30 10:26 qingsong_do 阅读(275) 评论(0) 推荐(0)
摘要:在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7.假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。当然,你可以通过@@DATEFIRST函数来检查第一天设置。 一、为了理解这些例子,我们先复习一下DATEDIFF和DATEADD函数。DATEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。DAT... 阅读全文
posted @ 2011-10-28 22:15 qingsong_do 阅读(540) 评论(0) 推荐(0)
摘要:安装SQL SERVER 2000时提示:“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机。” 接着按照提示重启计算机,再安装,仍然出现同样的提示。原因是安装程序在先前的安装过程中在系统注册表留下某些信息,导致不能安装。删除掉如下键值信息即可安装: 在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Session Manager中找到PendingFileRenameOperations,删除该键值,关闭注册表编辑器。重新安装SQL Server 2000. 阅读全文
posted @ 2011-10-12 16:30 qingsong_do 阅读(2665) 评论(0) 推荐(0)
摘要:---分页方法 ------------1.top分页:selecttop10*fromOrdersawherea.orderidnotin(selecttop10orderidfromOrdersorderbyorderid)orderbya.orderid------------2.MAX函数---这种方法的前提是有唯一值的一个列。selecttop10*fromOrdersawherea.orderid>(selectMAX(orderid)from(selecttop10orderidfromOrdersorderbyorderid)asorderid)orderbyorderi 阅读全文
posted @ 2011-10-11 13:39 qingsong_do 阅读(313) 评论(0) 推荐(1)
摘要:--启用xp_cmdshellUSEmasterGOEXECsp_configure'showadvancedoptions',1GORECONFIGUREWITHOVERRIDEGOEXECsp_configure'xp_cmdshell',1GORECONFIGUREWITHOVERRIDEGOEXECsp_configure'showadvancedoptions',0GORECONFIGUREWITHOVERRIDEGO--关闭xp_cmdshellUSEmasterGOEXECsp_configure'showadvancedo 阅读全文
posted @ 2011-10-09 16:02 qingsong_do 阅读(415) 评论(0) 推荐(1)
摘要:--------------不同服务器数据库之间的数据操作--创建链接服务器exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '--查询示例select*from ITSV.数据库名.dbo.表名--导入示例select*into 表 from ITSV.数据库名.db 阅读全文
posted @ 2011-10-09 14:40 qingsong_do 阅读(293) 评论(0) 推荐(1)
摘要:建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机。更重要的是,对于非常大的数据模型而言,分页检索时,如果按照传统的每次都加载整个数据源的方法 阅读全文
posted @ 2011-10-05 21:55 qingsong_do 阅读(2112) 评论(0) 推荐(1)
摘要:相对于传统的循环和游标方式生成数据,"GO n"方式更加简洁---创建测试表USEtestGOCREATETABLEtt(idINTIDENTITY(1,1)NOTNULL,CONSTRAINTpk_idPRIMARYKEYCLUSTERED(idASC))ON[PRIMARY]--设置环境SETNOCOUNTONGOSETIDENTITY_INSERTdbo.ttON;GO--插入首行数据INSERTdbo.tt(id)VALUES(IDENT_CURRENT('dbo.tt'));GO--重复10000次插入10000行记录,本本上大约花费5sINSER 阅读全文
posted @ 2011-10-05 14:52 qingsong_do 阅读(246) 评论(0) 推荐(0)
摘要:--------如何修改计算列列名--必须要先删除再添加--不能直接修改的---建表createtabletest(c1int,c2int,csas(c1+c2))---插入数据insertintotestselect6,2unionallselect3,4--查询表select*fromtest--修改时提示错误sp_rename'test.cs','c1*c2'--注意:更改对象名的任一部分都可能会破坏脚本和存储过程。--消息4928,级别16,状态1,过程sp_rename,第520行--无法更改列'cs',因为它是'COMPUTE 阅读全文
posted @ 2011-10-02 14:54 qingsong_do 阅读(815) 评论(0) 推荐(0)