网站大量收购独家精品文档,联系QQ:2885784924

SQL Server数据库及PHP技术知识 第6章 数据库高级主题.pptx

SQL Server数据库及PHP技术知识 第6章 数据库高级主题.pptx

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Server数据库及PHP技术知识 第6章 数据库高级主题.pptx

第6章 数据库高级主题/496.1 T-SQLTransact-SQL(T-SQL)是SQL扩展的一部分。T-SQL通过在别的事物上添加一些诸如变量、条件和循环之类的传统编程元素来扩充SQL。许多语句都不是SQL标准语句 如果你想全面的利用Microsoft SQL Server的性能,你必须使用T-SQL。 /49在批处理中执行多个语句 为了一次能够执行多个SQL语句,你可以把它们一起放入一个批处理中。批处理,如同它的名字所隐含的意识一样,是简单的一个或多个SQL语句组成的语句组。比如,假如你输入下面的两个语句,它们就会做为一个批处理而一起执行: SELECT pub_name FROM publishers SELECT ub_name FROM publishers /49给变量赋值 SQL Server 具有两种类型的变量:全局变量和局部变量。全局变量是只读的,你不能改变它们的值。然而你可以在多个批处理中接收全局变量的值。局部变量则相反,仅局限于专门的某一个批处理。局部变量的优势在于你可以修改和读取它们的值/49全局变量 全局变量的个数是有限的,你不能自己创建全局变量。两个非常重要的全局变量是@@IDENTITY和@@ROWCOUNT。@@IDENTITY变量保留最近一次插入到IDENTITY列的值,如下面的例子:INSERT Authors(author_name) VALUES(‘James Joyce’) INSERT Books(book_id,book_title) VALUES(@@IDENTITY,’Portrait of Artist as a Yong Man’) /49在UPDATE语句执行之后,变量@@ROWCOUNT的值等于在数据库中名字为’Samel Clement’的作者的数目。当最后一个SELECT语句执行后,它返回0个记录,因此变量@@ROWCOUNT的值被置为0/49局部变量 在SQL中的局部变量和在传统编程语言中的变量非常相似。你可以定义自己的局部变量,并且给他们赋值。对于局部变量而言,最大的局限是他只能存活在定义它的批处理中。例DECLARE @myvariable INT SELECT @myvariable=2+2 SELECT @myvariable /49局部变量都以单个@字符开头。在上面的例子中,局部变量@myvariable首先定义成INT类型。然后,使用SELECT语句为该变量赋值为2+2。最后一个SELECT语句返回该变量的值。 在批处理中使用变量之前,你必须首先定义它。你在定义变量时为该变量提供了该变量的名称和他所具有的数据类型。你可以在一个定义语句中定义多个变量。 /49DECLARE @firstname VARCHAR(20),@secondname VARCHAR(20) SELECT @firstname=”MARK TWAIN” SELECT @secondname=”samnel clement” SELECT @firstname=@secondname /49你也可以把查询结果赋予局部变量,这是一种非常有用的做法。考察下面的批处理: DECLARE @queryresults VARCHAR(20) SELECT @queryresults=author_name FROM Authors WHERE author_id=1 SELECT @queryresults /49用条件控制语句的执行其语法如下: IF 条件表达式 命令行或程序块 [ELSE [条件表达式式] 命令行或程序块块]其中:条件表达式可以是各种表达式的组合,但表达式的值必须是逻辑值“真”或“假”。ELSE 子句是可选的,最简单的IF 语句没有ELSE 子句部分。IF…ELSE 用来判断当某一条件成立时执行某段程序,条件不成立时执行另一段程序。如果不使用程序块,IF 或ELSE 只能执行一条命令。IF ELSE 可以进行嵌套,在Transact-SQL 中最多可嵌套32 级。 /49当你想根据某些条件来执行一个或多个SQL语句时,你需要使用conditional,请看下面的例子: IF (SELECT COUNT(*)FROM Authors) 10 PRINT “More than 10 Authors!” 假如在表Authors中有多于10个的作者,该语句就会打印More than 10 Authors!结果。 /49语句块BEGIN…END其语法如下: BEGIN 命令行或程序块块 ENDBEGIN…END 用来设定一个程序块,将在BEGIN…END 内的所有程序视为一个单元执行。BEGIN…END 经常在条件语句(如IF…ELSE)中使用。在BEGIN…END 中

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档