1、判断数据表是否存在 方法一: use yourdb; go if object_id(N\'tablename\',N\'U\') is not null print \'存在\' else print \'不存在\' 例如: use fireweb; go if object_id(N\'TEMP_TBL\',N\'U\') is not null print \'存在\' else print \'不存在\' 方法二: USE [实例...
我们在开发过程中,经常需要针对一列,基于条件逻辑来返回一个值,那么,这时候就需要使用到CASE表达式了。 例如,以下对Products表的查询就在SELECT语句中使用了CASE表达式,以生成用于描述categoryid列取值的信息。 SQL代码如下: -- 设置数据库上下文 USE TSQLFundamentals2008; GO SELECT pr...
通常情况下,我们会使用以下SQL语句来更新字段值: 复制代码 代码如下: UPDATE mytable SET myfield=\'value\' WHERE other_field=\'other_value\'; 但是,如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?举个例子,我的博客有三个分类目录(免费资源、教程指南、橱窗...
--创建数据库(文件:主要数据文件mdf==1,次要数据文件ndf>=0,日志文件ldf>=1) --文件组:当1mdf,5个ndf(1,2,2),10个ldf(3,3,4),将它们分成多个组存放 CREATE database studb; --创建表teacher,student create table teacher ( tid int(10) primary key auto_increment, tname varchar(20),...
select * from 表名 where Convert(varchar(100),日期字段,23)=\'2008-12-15\' 再给你个Convert函数的应用: 复制代码 代码如下: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE()...
SQLServer中有两个扩展存储过程实现Scanf和Printf功能,恰当的使用它们可以在提取和拼接字符串时大幅度简化SQL代码。1、xp_sscanf,用它可以分解格式相对固定的字符串,这对于厌倦使用一堆substring和charindex的朋友来说不错。比如前几天的一个帖子中提出的如何分解ip地址,相对简练且通用的代码应...
几个星期前,SQL Server 2016的最新CTP版本已经发布了:CTP 2.4(目前已经是CTP 3.0)。关于SQL Server 2016 CTP2.3 的关键特性总结,在此不多说了,具体内容请查相关资料。这个预览版相比以前的CTP包含了很多不同的提升。在这篇文章里我会谈下对于SQL Server 2016,TempDb里的显著提升。 TempDb定制 在SQL Se...
引言 我一直在寻找一种简单有效的库,它能在简化数据库相关的编程的同时提供一种异步的方法来预防死锁。 我找到的大部分库要么太繁琐,要么灵活性不足,所以我决定自己写个。 使用这个库,你可以轻松地连接到任何 SQL-Server 数据库,执行任何存储过程或 T-SQL 查询,并异步地接收查询结果。这个库采用 C# ...
今天在用SQL Server 2008执行一个SQL脚本文件时,老是出现引发类型为“System.OutOfMemoryException”的异常错误,脚本明明是从SQL Server 2008导出的,应该不会出错,研究了好久问题才得以解决。 出现这个错误的主要原因是由于SQL脚本文件太大,估计超过了100M了,解决方法就是把脚本文件分成几个脚本文件,...
今天遇到一个问题,原有生产系统正在健康运行,现需要监控一张数据表,当增加数据的时候,给管理员发送邮件。 领到这个需求后,有同事提供方案:写触发器触发外部应用程序。这是个大胆的想法啊,从来没写过这样的触发器。 以下是参考文章: 第一种方法: 触发器调用外部程序。 xp_cmdshell http://w...

我的博客

人生若只如初见,何事秋风悲画扇。