代码改变世界

文章分类 -  数据库

SQL SERVER 自动备份

2013-03-07 18:14 by Mike.Jiang, 219 阅读, 收藏,
摘要: 转自SQLServer2005数据库自动备份1、打开SQL Server Management Studio2、启动SQL Server代理3、点击作业->新建作业4、"常规"中输入作业的名称5、新建步骤,类型选T-SQL,在下面的命令中输入下面语句DECLARE @strPath NVARCHAR(200)set @strPath = convert(NVARCHAR(19),getdate(),120)set @strPath = REPLACE(@strPath, ':' , '.')set @strPath = 'D:\ 阅读全文

常用SQL DDL语句

2013-02-27 10:49 by Mike.Jiang, 8198 阅读, 收藏,
摘要: DDL—数据库定义语言:直接提交的。CREATE:用于创建数据库对象。DECLARE:除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似。唯一可以被声明的对象是表。并且必须放入用户临时表空间。DROP:可以删除任何用CREATE(数据库对象)和DECLARE(表)创建的对象。ALTER:允许修改某些数据库对象的信息。不能修改索引。下面主要基于对象介绍基本的语法:1、数据库:创建数据库:CREATE DATABASE database-name [USING CODESET codeset TERRITORY territory]注:代码页的问题。删除数据库:dro 阅读全文

获取汉字首字母的SQL

2013-02-05 16:44 by Mike.Jiang, 667 阅读, 收藏,
摘要: 今天一朋友分享了一个获取汉字首字母的SQL,目测会用到,作个记录:if exists (select * from sysobjects where id = object_id(N'[fn_ChineseToSpell]') and xtype in (N'FN', N'IF', N'TF')) drop function [fn_ChineseToSpell]GO/*创建取拼音首字母函数*/ create function [dbo].[fn_ChineseToSpell](@strChinese varchar(500)=& 阅读全文

使用部分子查询在数据库中实现递归查询(转)

2012-07-09 16:57 by Mike.Jiang, 2285 阅读, 收藏,
摘要: 今天基本搞清楚SQL Server中递归查询的实现方式,So,先记录下来。不过呢,个人觉得SQL Server的递归查询相对于Oracle中的递归查询更加难以理解。 从SQL Server 2005开始,我们可以直接通过CTE来支持递归查询,这对查询树形或层次结构的数据很有用。CTE即公用表表达式,虽然不恰当,但你可以将它看做成一个临时命名的结果集合。 我们先建立一个示例表,名称为MENU,表示菜单的层次结构:显示行号 复制代码 ? SQL CREATE TABLE MENU (name nvarchar(50) NOT NULL PRIMARY KEY,senior nvarchar... 阅读全文

SQL with(unlock)与with(readpast) (转)

2012-05-17 13:57 by Mike.Jiang, 13225 阅读, 收藏,
摘要: 所有Select加 With (NoLock)解决阻塞死锁,在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST 。有关 NOLOCK 和 READPAST的一些技术知识点: 对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻辑是否能容忍出现或者不出现某些记录,而不是寻求对双方都加锁条件下如何解锁的问题。 NOLOCK 和 READPAST 都是处理查询、插入、删除等操作时候,如何应对锁住的数据记录。但是这时候一定要注意NOLOCK 阅读全文

SQL-92 设置语句

2012-05-14 13:37 by Mike.Jiang, 388 阅读, 收藏,
摘要: SQL-92 设置语句:使SQL Server 2000/2005 遵从 SQL-92 规则。当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。 SQL-92 标准要求在对空值进行等于 (=) 或不等于 (<>) 比较时取值为 FALSE。当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 S 阅读全文

SQLserver游标原理和使用方法(转)

2012-03-20 11:49 by Mike.Jiang, 249 阅读, 收藏,
摘要: 在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。1.1 游标和游标的优点 在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条T_SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当 决定对 阅读全文

获取select结果集的行号 sql server row_number <转>

2012-03-20 09:12 by Mike.Jiang, 4509 阅读, 收藏,
摘要: This article will explain how we can add sequence row number to a SQL select query starting from 1 onwards. This can be achieved by using built in SQL function ?ROW_NUMBER()?. This function simply generates row number for each row in the result. You can specify the partition and order by criteria. T 阅读全文

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

2012-03-19 13:12 by Mike.Jiang, 189 阅读, 收藏,
摘要: Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将 一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。 1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select. 阅读全文