
SQL Server
$大江东去$
这个作者很懒,什么都没留下…
展开
-
使用GUID作为行标识
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-...原创 2009-12-07 14:21:42 · 134 阅读 · 0 评论 -
SQL2008数据导出到EXCEL
有如下几种方法:1.直接复制结果集并粘贴到新建的EXCEL中或将结果另存为csv格式的文件,EXCEL也能打开CSV文件;2.采用SQL Server的DTS导出3.采用bcp工具导出。语法详见SQL Server2008联机丛书。例:[quote]exec master..xp_cmdshell 'bcp " select * from [color=red]dbName[/co...原创 2010-06-18 17:20:17 · 219 阅读 · 0 评论 -
SQL Server触发器的分类
1.根据触发器触发事件的级别可分为:数据库级触发器和表级触发器,表级触发器又可分为:行级触发器和语句级触发器,行级触发器对处理中每一行都执行一次。语句级触发器对每个处理执行一次,可以同时执行多行语句。(例:如果一条INSERT语句在TABLE表中插入500行,那么这个表上的语句级触发器只执行一次,而行级的触发器就要执行500次)[color=red]注:SQL2005不支持SELECT触发器、行级...原创 2010-06-23 17:56:44 · 771 阅读 · 0 评论 -
SQL TOP子句加变量的问题
SQL Server2005开始,TOP子句后可以跟常量或者变量,跟常量时可省略括号,即top(2)和top 2是等价的([color=red]注意不加括号时top和2间的空格[/color]),top后使用变量时必须使用括号,例:[code="sql"]declare @num intset @num = 10select top(@num) * from sys.tables[/c...原创 2010-06-25 18:08:59 · 242 阅读 · 0 评论 -
简单分页SQL
[code="sql"]select top(@pageSize) * from TableNamewhere Id>(select isnull(max (Id),1) from (select top((@pageNumber-1)*@pageSize) Id from TableName order by Id) as T) order by Id[/code]原创 2010-07-14 10:48:00 · 109 阅读 · 0 评论 -
SQL Server2005中的交、差、并运算
1.交运算:使用intersect关键字:返回 INTERSECT 操作数左右两边的两个查询均返回的所有非重复值。例:[code="sql"]select 1,'A ' union select 2,'B' intersect select 1,'A'[/code]结果为:[quote]1 A[/quote]2.并运算:使用union all 关键字例:[code="sql"]se...原创 2010-07-14 15:13:17 · 292 阅读 · 0 评论 -
(转)SQL Server 2005索引碎片整理脚本
[code="sql"]set nocount on--使用游标重新组织指定库中的索引,消除索引碎片--R_T层游标取出当前数据库所有表declare R_T cursor for select name from sys.tablesdeclare @T varchar(50)open r_tfetch next from r_t into @twhile @@f...原创 2011-01-04 10:06:20 · 174 阅读 · 0 评论 -
查看SQL Server2005版本
1.最简单的.打开SQL Server Management Studio,点击帮助->关于.微软很多产品都是这样查看版本信息的吧2.采用@@Version函数。[code="sql"]SELECT @@VERSION[/code]返回当前的 SQL Server 安装的版本、处理器体系结构、生成日期和操作系统。3.ServerProperty函数。[code="sql"]SE...原创 2010-07-24 10:48:52 · 128 阅读 · 0 评论 -
CASE表达式的一些问题
SQL Server根据表达式的结果中优先级最高的数据类型确定CASE表达式结果的数据类型,而不是按实际返回结果的数据类型确定。这就意味着,如果CASE 表达式的一个THEN子句返回VARCHAR(30)值,而另一个返回INT值,表达式的结果将总是INT,因为INT的优先级比VARCHAR高。如果实际返回VARCHAR(30)值,SQL Server将尝试转换它。如果该值不可转换,将产生一个运行时...原创 2010-07-28 15:54:04 · 263 阅读 · 0 评论 -
SQL Server中创建视图注意
1. 不能在查询定义中使用order by,除非定义中包含TOP或FOR XML运算符.([b]注:i.TOP不是ANSI的标准语句;ii.视图是虚拟表,作为一个逻辑实体,表中的行没有顺序,可以在外部查询中对行排序[/b])2. 所有的结果列必须有名称.因此最好不使用"SELECT *"这种语句3. 所有结果列的名称必须是唯一的基本表的架构更改时,要及时刷新视图的元数据...原创 2010-08-02 10:32:48 · 259 阅读 · 0 评论 -
SQL Server2005新建JOB时报错
错误内容:无法将类型为“Microsoft.SqlServer.Management.Smo.SimpleObjectKey”的对象强制转换为类型“Microsoft.SqlServer.Management.Smo.Agent.JobObjectKey”解决方案:打上SP3补丁后解决...原创 2011-02-16 19:47:34 · 156 阅读 · 0 评论 -
SQL SERVER 2005获取当前月的天数(转)
[code="sql"]SELECT 32-DAY(getdate()+32-DAY(getdate())) [/code]转自:http://www.cnblogs.com/myjece/archive/2009/03/04/1403003.html原创 2011-02-17 10:39:45 · 158 阅读 · 0 评论 -
遇到ServerVersion = “conn.ServerVersion”引发了...异常
程序数据库在SQL 2005 Express下做的备份,拿来还原到SQL Server2008后,在新建SqlConnection时出现了ServerVersion = “conn.ServerVersion”引发了“System.InvalidOperationException”类型的异常类型的异常,不能正常运行.把try..catch拿掉后居然没问题了,然后再把try..catch加上,程序...原创 2010-06-09 17:44:35 · 2383 阅读 · 1 评论 -
(转)SQL Server删除所有用户自定义存储过程
[code="sql"]declare @procName varchar(500) declare cur cursor for select [name] from sys.objects where type = 'p' open cur fetch next from cur into @procName...原创 2010-06-03 11:34:22 · 248 阅读 · 0 评论 -
SQL 2005下SQLServer导入和导出向导
SQL Server2005的命令提示窗口运行DTSWizard.exe即可运行此向导。方便进行不同数据格式的导入和导出原创 2009-12-29 09:52:42 · 324 阅读 · 0 评论 -
SQL Server用print打印字符串换行
SQL不支持转义符,可在字符串中加入char(10)或者char(13)使语句换行,nchar(10)和nchar(13)也是可以的.eg[code="sql"]print '再见'+char(13)+'byebye'[/code]结果为:[quote]再见byebye[/quote]...原创 2010-08-20 17:54:44 · 2178 阅读 · 0 评论 -
SQL利用Convert函数获得指定格式的日期字符串
[code="sql"]select convert(varchar,getdate(),120)--2010-08-20 23:10:15select convert(varchar(10), getdate(),120)--2010-08-20 select replace(replace(replace(convert(varchar, getdate(),120),'-',''),...原创 2010-08-20 23:06:08 · 279 阅读 · 0 评论 -
SQL连接的一些备忘
连接JOIN分为:[quote]内连接(INNER JOIN)、外连接(OUTER JOIN)、交叉连接(CROSS JOIN)[/quote]内连接(INNER JOIN)分为:[quote]等值连接,自然连接,不等值连接[/quote]可在WHREE中添加相应的限制条件实现;外连接(OUTER JOIN)分为:[quote]左外连接(LEFT OUTER JOIN),右外连接(...2010-03-15 13:43:26 · 89 阅读 · 0 评论 -
CSV文件导入SQL Server2005(转)
[code="sql"]USE 数据库名BULK Insert dbo.表名From 'c:\CSV文件名.csv' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' ) [/code]2010-03-22 12:31:55 · 145 阅读 · 0 评论 -
SQL Server 2005输入null的快捷键
[quote]Ctrl+0[/quote]原创 2010-10-26 16:38:21 · 213 阅读 · 0 评论 -
将SQLServer2008的数据导入SQLServer2005
SQLServer2005不能识别SQLServer2008的数据库备份文件,可采用以下方法来将SQLServer2008的数据导入2005中:在2008中生成创建表结构的脚本,在2005中执行后,再将源数据库中的数据导入到目的数据库。下面是详细步骤1.在右键点击SQLServer2008中源数据库->任务->生成脚本->此时会出现SQLServer脚本向导,点击选择要生成脚本的数据库2....原创 2010-05-19 13:50:03 · 532 阅读 · 0 评论 -
SQL2005使用作业调度实现数据库定时备份
1.进入SQL Server2005企业管理器,在Object Explorer最下方找到SQL Server Agent(SQL Server代理),如果此服务处在停止状态,首先要开始此服务(方法:在图标上点击右键,选择"开始"即可)。下面有Jobs(作业)的菜单2.新建作业,作业名称随便取,例如:AutoBackup,Owner(所有者)选择sa,也可选择其他有执行作业权限的用户3.点...原创 2010-05-26 10:48:09 · 143 阅读 · 0 评论 -
SQL Server启动时自动执行存储过程
使用系统存储过程sp_procoption即可实现,具体用法参考联机丛书原创 2010-12-07 10:35:58 · 151 阅读 · 0 评论 -
SQL Server自动增长列重置
采用DBCC CHECKIDENT 语句,可以检查或更改表的标识值。例:[code="sql"]DBCC CHECKIDENT ('表名', RESEED, 0)--重置表的标志值[/code]原创 2010-12-15 16:38:38 · 215 阅读 · 0 评论 -
SQL Server2008取消智能提示
在SQLServer Management Studio中选择工具->选项->文本编辑器->Transact-SQL->IntelliSense即可进行相关设置原创 2010-06-02 10:27:43 · 161 阅读 · 0 评论 -
SQL2005 只有MDF文件附加数据库
运行[code="sql"]exec sp_attach_single_file_db @dbname ='pubs', @physname='c:\Data\pubs.mdf ' [/code]即可,SQL Server会自动创建缺失的日志文件原创 2011-04-15 14:04:56 · 252 阅读 · 0 评论