首页 相关文章 SQL Server数据库技术(16)

SQL Server数据库技术(16)

Transact-SQL 语言使用的流程控制命令与常见的程序设计语言类似主要有以下几种控制命令。

4.6.1 IF…ELSE
其语法如下:
IF <条件表达式
<命令行或程序块
[ELSE [条件表达式]
<命令行或程序块]
其中<条件表达式可以是各种表达式的组合,但表达式的值必须是逻辑值“真”或“假”。ELSE子句是可选的,最简单的IF语句没有ELSE子句部分。IF…ELSE用来判断当某一条件成立时执行某段程序,条件不成立时执行另一段程序。如果不使用程序块,IF或ELSE只能执行一条命令。IF…ELSE可以进行嵌套。

例4-9
declare@x int,@y int,@z int
select @x=1,@y=2, @z=3
if@x@y
print'xy' --打印字符串'xy'
else if@y@z
print'yz'
else print'zy'
运行结果如下
zy
注意:[ 查看全文 ]

2016-01-29 标签:
  • 标签:SQLServer
    8、系统函数 系统函数用于获取有关计算机系统、用户、数据库和数据库对象的信息。系统函数可以让用户在得到信息后,使用条件语句,根据返回的信息进行不同的操作。与其它函数一样,可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用系统函数。 ·APP_NAME() APP_NAME() 函数语法如下:  APP_NAME() APP_NAME() 函数返回当前执行的应用程序的名称。其返回值类型为nvarchar (128)...[ 查看全文 ]
  • 标签:SQLServer
    7.6.1 用Enterprise Manager 删除 在Enterprise Manager 中用右键单击要删除的表从快捷菜单中选择“删除(Delete)” 选项,则会出现如图7-9 所示的删除对象对话框,单击“Drop All”按钮,即可以删除表。单击“Show Dependencies”按钮,即会出现如图7-10 所示的对话框。它列出了表所依靠的对象和依赖于表的对象。当有对象依赖于表时,就不能删除表。 7.6.2 用DROP TABLE 命令删除 DROP ...[ 查看全文 ]
  • 标签:SQLServer
       数据库中的各个表中存放着不同的数据,用户往往需要用多个表中的数据来组合、提炼出所需要的信息。如果一个查询需要对多个表进行操作,就称为连接查询。连接查询的结果集或结果表,称为表之间的连接连接。查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征。 连接查询分为等值连接查询、非等值连接查询、自连接查询、外部连接查询和复合条件连接查...[ 查看全文 ]
  • 标签:SQLServer
    8.5.1 索引与系统性能     索引可以加快数据检索的速度,但它会使数据的插入、删除和更新变慢。尤其是簇索引,数据是按照逻辑顺序存放在一定的物理位置,当变更数据时,根据新的数据顺序,需要将许多数据进行物理位置的移动,这将增加系统的负担。对非簇索引,数据更新时也需要更新索引页,这也需要占用系统时间。因此在一个表中使用太多的索引,会影响数据库的性能。对于一个经常...[ 查看全文 ]
  • 标签:SQLServer
       图表是SQL Server 特有的一种数据库对象,它提供给用户直观的管理数据库表的方式。通过图表,用户可以直观地创建、编辑数据库表之间的关系,也可以编辑表及其列的属性。 在Enterprise Manager 中创建图表的步骤如下: (1) 在Enterprise Manager 中选择“Diagrams”, 单击右键,从快捷菜单中选择“New Database Diagram” 选项,就会运行创建数据库图表向导,如图8-23所示。, (2) ...[ 查看全文 ]
  • 标签:SQLServer
    11.5.1 锁的概念 锁(Lock) 是在多用户环境下对资源访问的一种限制。机制当对一个数据源加锁后,此数据源就有了一定的访问限制。我们就称对此数据源进行了“锁定”。在SQL Server中,可以对以下的对象进行锁定: 数据行(Row):数据页中的单行数据; 索引行(Key):索引页中的单行数据,即索引的键值; 页(Page):页是SQL Server 存取数据的基本单位,其大小为8KB; 盘区(Extent):一个盘区由8...[ 查看全文 ]
  • 标签:SQLServer
    13.10.1 创建视图     SQL SERVER 提供了使用SQL SERVER Enterprise Manager 和Transac-SQL 命令两种方法来创建视图。在创建或使用视图,时应该注意到以下情况:     • 只能在当前数据库中创建视图,在视图中最多只能引用1024 列;     • 如果视图引用的表被删除,则当使用该视图时将返回一条错误信息,如果创建具...[ 查看全文 ]
  • 标签:SQLServer
       在前面我们已经提到过有关视图的下述观点:由于视图返回的结果集与具有行列结构的表有着相同的表格形式,并且我们可以在SQL 语句中像引用表那样引用视图,所以我们常把视图称为虚表。标准视图的结果集并不以表的形式存储在数据库中,而是在执行引用了视图的查询时,SQL Server 2000 才把相关的基本表中的数据合并成视图的逻辑结构。     上面的结论常让我们产生这样的...[ 查看全文 ]
  • 标签:SQLServer
       系统存储过程就是系统创建的存储过程,目的在于能够方便地从系统表中查询信息或完成与更新数据库表相关的管理任务或其它的系统管理任务。系统过程以“sp_"_ 为开头,在Master 数据库中创建并保存在该数据库中,为数据库管理者所有。一些系统过程只能由系统管理员使用,而有些系统过程通过授权可以被其它用户所使用。 系统存储过程主要包括以下几类:(这里主要给出每类系统过程中经常使用...[ 查看全文 ]
  • 标签:SQLServer
       打开游标游标在声明以后,如果要从游标中读取数据必须打开游标。打开一个Transact-SQL服务器游标使用OPEN 命令,其语法规则为:  OPEN { { [GLOBAL] cursor_name } | cursor_variable_name} 各参数说明如下: • GLOBAL 定义游标为一全局游标。 • cursor_name 为声明的游标名字。如果一个全局游标和一个局部游标...[ 查看全文 ]
  • 标签:SQLServer
      除了使用系统提供的函数外,用户还可以根据需要自定义函数。用户自定义函数(User Defined Functions)是SQL Server 2000 新增的数据库对象,是SQL Server 的一大改进。     用户自定义函数不能用于执行一系列改变数据库状态的操作,但它可以像系统函数一样在查询或存储过程等的程序段中使用,也可以像存储过程一样通过EXECUTE 命令来执行。用户自定义函数中存储了一个Transa...[ 查看全文 ]
  • 标签:SQLServer
       从以上的介绍中我们可以看出触发器具有强大的功能,那么MS SQL Server 是如何管理触发器来完成这些任务呢?下面我们将对其工作原理及实现做较为详细的介绍。     每个触发器有两个特殊的表:插入表和删除表。这两个表是逻辑表,并且这两个表是由系统管理的,存储在内存中,不是存储在数据库中,因此不允许用户直接对其修改。这两个表的结构总是与被该触发器作用的表...[ 查看全文 ]
  • 标签:SQLServer
        在建立一个游标之后,便可利用系统过程对游标进行管理管理,游标的系统过程主要有以下几个:sp_cursor_list、sp_describe_cursor、 sp_describe_cursor_tables 、sp_describe_cursor_columns。    各系统过程的具体含义分别为: 13.8.1 sp_cursor_list     显示在当前作用域内的游标及其属性;其命令格式为:     ...[ 查看全文 ]
  • 标签:SQLServer
    14.5.1 角色管理简介     自SQL Server 7 版本开始引入了新的概念角色,从而替代以前版本中组的概念。和组一样,SQL Server 管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可实现对所有用户权限的设置,大大减少了管理员的工作量。在SQL Server 中主要有两种角色类型:服务器角色与数据库角色。 1 服务器角色     服务器角色是指根据SQL ...[ 查看全文 ]
  • 标签:SQLServer
      SQL Server 2000 提供了比以前版本更多的复制选项,其中包括立即更新订购者,排队更新,以排队更新作为热备份的立即更新,传递复制数据,过滤出版数据等。其中前三个选项表示可在订购者处对复制数据进行修改,然后将修改以相应的方式反映到出版者那里。如果在复制中使用这些复制选项,将使复制的配置和管理更为困难,所以很有必要对这些复制选项有着更为清晰的认识和了解。 16.6.1 立即更新订...[ 查看全文 ]
  • 标签:SQLServer
    15.3.1 用SQL Server Enterprise Manager 管理备份 在SQL Server 中无论是数据库备份,还是事务日志备份、差异备份、文件或文件组备份都执行相同的步骤。使用SQL Server Enterprise Manager 进行备份的步骤为: (1) 启动SQL Server Enterprise Manager, 登录到指定的数据库服务器。 (2) 打开数据库文件夹,右击要进行备份的数据库图标,在弹出菜单上选择AllTasks, 再选择Backup Database ,然后...[ 查看全文 ]
  • 标签:SQLServer
       作业是指被定义的多步执行的任务,每一步都是可能执行的Transact-SQL 语句,代表一个任务。作业是典型的规划任务和自动执行任务。数据库的备份和恢复、数据的复制、数据的导入/导出等都可以被定义成作业,然后在规划的时间由SQL Server Agent 来自动完成。 创建一个作业的执行步骤为: (1) 启动SQL Server Enterprise Manager, 登录到指定的服务器,分别顺次单击 management, SQL Serv...[ 查看全文 ]
  • 标签:SQLServer
     对一个地域分散的大型企业组织来说,构建具有典型的分布式计 算特征的大型企业管理信息系统时总要解决一个很棘手的问题;如何 在多个不同数据库服务器之间保证共享数据的完整性、安全性和可用 性。之所以引发这样的问题在于企业组织存在这样的数据处理和要求: 在不同的地点对具有相同结构的本地数据库进行修改;但要保证修改 后的数据库有相同的结果。其实质就是将对本地数据库的修改体现在 其它具有...[ 查看全文 ]
  • 标签:SQLServer
       SQL Server 除了提供强大的管理工具Enterprise Manager、 可靠的安全性管理和数据库备份与恢复功能、内置的复制组件以外还包括其他一些工具和令人欣慰的功能。在本章中我们将分别介绍SQL Mail、 SQL Server Profiler、 Query Analyzer, 希望读者能够熟练地使用它们从而形成对SQL Server 的全面了解。 19.1.1 SQL Mail 简介     在SQL Server Agent 一章我们已...[ 查看全文 ]
手机页面 收藏网站 回到头部