上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 28 下一页
  2014年9月19日
摘要: 表类型简化了表变量的定义。通过创建表类型,可以把表的定义保存到数据库中,以后在定义表变量,存储过程和用户定义函数的输入参数时,就可以将表类型作为表的定义而重用。下面的示例演示了如何通过表类型来简化表变量的定义,并且如何重用它。USE TSQLFundamentals2008;GOIF TYPE_... 阅读全文
posted @ 2014-09-19 16:58 永远的麦子 阅读(926) 评论(0) 推荐(0) 编辑
摘要: 表变量和局部临时表非常相似,除了能实现相同的功能外,它们主要有两点不同,首先声明表变量是用DECLARE语句,而不是CREATE TABLE语句,第二点是表变量也只对创建它的会话可见,但允许访问的范围更小,它只对当前批处理可见,它对调用堆栈中当前批处理的内部批处理是不可见的,对会话中随后的批处理... 阅读全文
posted @ 2014-09-19 16:48 永远的麦子 阅读(887) 评论(0) 推荐(0) 编辑
摘要: 全局临时表是以两个‘##’符号为前缀,并且它对所有会话可见的一种临时表。全局临时表一般用在需要向所有人共享数据的时候使用。下面是一个全局临时表的示例。-- 全局临时表IF OBJECT_ID('tempdb.dbo.##Globals','U') IS NOT NULL DROP TABLE d... 阅读全文
posted @ 2014-09-19 16:23 永远的麦子 阅读(1342) 评论(0) 推荐(0) 编辑
摘要: 局部临时表有两个特点,一是表名以'#'号作为前缀,二是它只对创建它的会话在创建级和调用堆栈内部级(包括内部的过程,函数,触发器和动态批处理)可见。局部临时表的应用场景是,当需要把中间结果临时保存起来,以便供以后查询这些临时数据的时候使用。下面是创建局部临时表的示例代码。USE TSQLFunda... 阅读全文
posted @ 2014-09-19 16:11 永远的麦子 阅读(812) 评论(0) 推荐(0) 编辑
  2014年9月18日
摘要: 动态SQL就是我们可以动态构造SQL代码,然后再执行这个批处理。有两种执行动态SQL的方法,分别是EXEC命令和sp_executesql存储过程。下面是示例代码。USE TSQLFundamentals2008;GO-- 动态SQL-- 方法一:EXEC命令(支持普通字符和Unicode字符)... 阅读全文
posted @ 2014-09-18 15:57 永远的麦子 阅读(794) 评论(0) 推荐(0) 编辑
摘要: 我们有两种方式删除数据,DELETE语句和TRUNCATE语句。需要注意它们的区别,DELETE语句是以完整模式记录日志的,所以它的性能相对较低。而TRUNCATE语句是以最小模式来记录日志的,并且它会重置标识种子。下面是示例代码。USE tempdb;GO-- 准备测试数据IF OBJECT_... 阅读全文
posted @ 2014-09-18 11:53 永远的麦子 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 我们一般使用UPDATE语句对表中数据行的一个子集进行修改,除了使用标准的UPDATE语句外,我们还可以使用基于联接的UPDATE语句。为了测试,我们先创建了两张表,Orders和OrderDetails,测试代码如下。USE tempdb;GO-- 准备测试数据IF OBJECT_ID('db... 阅读全文
posted @ 2014-09-18 11:41 永远的麦子 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 我们可以通过以下几种方式向表中插入数据。分别是INSERT VALUES,INSERT SELECT,INSERT EXEC,SELECT INTO和BULK INSERT共五种方法。为了演示,我们先在数据库tempdb中创建表dbo.Orders,然后分别用这几种方法向表中插入数据,下面是示例... 阅读全文
posted @ 2014-09-18 11:33 永远的麦子 阅读(881) 评论(0) 推荐(0) 编辑
  2014年8月5日
摘要: 这一篇要总结的是存储过程,包括存储过程有哪几种,如何创建,以及最后如何调用存储过程。所以分为以下几个方面进行总结。1,不带参数的存储过程2,带输入参数的存储过程3,带输入和输出参数的存储过程4,带返回值的存储过程不带参数的存储过程例如,以下存储过程返回Employees表中所有职员的记录。存储过... 阅读全文
posted @ 2014-08-05 14:41 永远的麦子 阅读(834) 评论(1) 推荐(0) 编辑
  2014年8月3日
摘要: 相关子查询是指引用了外部查询中出现的表的列的子查询。这就意味着子查询要依赖于外部查询,不能独立地调用它。在逻辑上,相关子查询会为每个外部行单独计算一次。这篇文章我想从以下两个方面进行总结。 1,一个相关子查询的简单例子 2,相关子查询和EXISTS谓词 一个相关子查询的简单例子 例如,以下查询会为每个客户返回其订单ID最大的订单。 SQL查询代码如下: -- 相关子查询SELEC... 阅读全文
posted @ 2014-08-03 15:38 永远的麦子 阅读(6493) 评论(3) 推荐(1) 编辑
摘要: 从这一篇开始要总结子查询了,什么是子查询呢?子查询就是将内部查询的结果供外部查询使用,内部查询可以取代基于常量或变量的表达式,并在运行时进行计算。通过使用子查询,可以避免在查询解决方案中把操作分成多个步骤,并在变量中保存中间查询结果的需要。 子查询可以分为独立子查询和相关子查询,那么这一篇我们总结的就是独立子查询,我想分为以下几个方面进行总结。 1,独立标量子查询 2,独立多值子查询 独立... 阅读全文
posted @ 2014-08-03 15:22 永远的麦子 阅读(1269) 评论(0) 推荐(0) 编辑
  2014年7月31日
摘要: 除了传统的三种联接查询外,还有一些特殊的联接查询。这篇文章就将对其进行总结,主要有以下几种特殊的联接查询。 1,组合联接查询 2,不等联接查询 3,多表联接查询 组合联接查询 组合联接就是联接条件涉及联接两边的多个列的查询。当需要根据主键-外键关系来联接两个表,而且主外键关系是组合的(即关系基于多个列)时,通常就要使用组合联接。 例如,假设dbo.Table2表上定义了两个外键(col... 阅读全文
posted @ 2014-07-31 22:19 永远的麦子 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 特殊的联接查询特殊的联接查询特殊的联接查询特殊的联接查询特殊的联接查询 阅读全文
posted @ 2014-07-31 19:00 永远的麦子 阅读(116) 评论(0) 推荐(0) 编辑
  2014年7月30日
摘要: 这一篇文章要总结的是用得最多的联接查询即外联接查询,外联接查询相对于交叉联接和内联接来说要更复杂一些,我准备从以下几个方面对外联接进行总结。1,什么是外联接查询2,一个外联接查询的例子3,关于外联接查询的总结什么是外联接查询外联接除了有内联接的两个逻辑处理步骤(即笛卡尔积和ON过滤)之外,还多加... 阅读全文
posted @ 2014-07-30 15:57 永远的麦子 阅读(1636) 评论(0) 推荐(0) 编辑
摘要: 内联接要应用两个逻辑查询处理步骤:它首先像交叉联接一样,对两个输入表进行笛卡尔积运算;然后根据用户指定的谓词对结果行进行过滤。 使用内联接须在两个表之间指定INNER JOIN关键字,当然,INNER关键字是可选的,因为内联接是默认的联接方式,所以可单独指定JOIN关键字。然后利用ON关键字对... 阅读全文
posted @ 2014-07-30 14:54 永远的麦子 阅读(793) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 28 下一页