当前位置: 首页 > news >正文

b站推广视频辅导机构

b站推广视频,辅导机构,北海哪里做网站,wordpress改logo写在最前, 写文章的初衷只是为了复习与记录自己的成长,笔者目前水平还有待提高,文章中难免会出现许多问题与错误,文章内容仅供参考,有不足的地方还请大家多多包涵并指正,谢谢~ 第八章 T-SQL程序结构 8.…

写在最前,

写文章的初衷只是为了复习与记录自己的成长,笔者目前水平还有待提高,文章中难免会出现许多问题与错误,文章内容仅供参考,有不足的地方还请大家多多包涵并指正,谢谢~

第八章 T-SQL程序结构 

8.1  注释和变量

8.1.1  T-SQL程序的基本结构 

1.批

批是一组SQL语句的集合,一个批以结束符GO而终结。批中的所有语句被一次提交给SQL Server,SQL Server将这些语句编译为一个执行单元在执行时全部执行。
注意:在执行批时:
(1)只要有其中任一个SQL语句存在语法错误,SQL Server将取消整个批内所有语句执行。
(2)如果没有语法问题可以运行,但发生逻辑错误(如算术溢出),则可能导致停止批中当前语句及后面语句执行,或仅停止当前语句执行,后面继续。这样可能发生严重错误,所以批应位于一个事务之内。

使用批的基本规则

(1)所有CREATE语句应单独构成一个批,不能在批中和其它SQL语句组合使用。
(2)使用ALTER TABLE语句修改表结构后,不能在同一个批中使用新定义的列
(3)EXCUTE语句为批中第一个语句时,可以省略EXCUTE关键字,否则,必须使用EXCUTE关键字。
(4)批命令GO和SQL语句不能在同一行上。但在GO命令中可以包含注释。
批命令GO并不是SQL的语句组成部分它仅是作为批结束的标志。当编译器读到GO时,会把它前面的所有语句打成一个数据包一起发给服务器。 

--正确批处理的例子:
USE  教学管理
GO
CREATE  VIEW  sub_学生表 
AS SELECT  学号,姓名FROM  学生表
GO
SELECT  *  FROM  sub_学生表
GO
--不正确批处理的例子1:
USE  教学管理
CREATE  VIEW  sub_学生表 
AS SELECT  学号,姓名FROM  学生表
GO
SELECT  *  FROM  sub_学生表
GO
错误的原因在于将选择数据库与创建视图放在了同一个批中,前面说过CREATE必须单独在一个批中。  
--不正确批处理的例子2:
USE  教学管理
GO
CREATE  TABLE mytab (name  nvarchar(20),pric  tinyint)
GO  
INSERT  INTO  mytab (name,pric) VALUES (‘Binete’, 3)
INSERT  INTO  mytab (name,pric) VALUES (‘Binete’, 3000)   --3000超过tinyint类型
GO--第2个插入语句插入时出错,只产生部分数据(容易成为垃圾数据)。为了避免这种情况发生需要用事务保证批中的命令要么全做,要么全不做。 

2.程序结构  
一个T-SQL程序包含若干个以BEGIN TRANSACTION开始、以COMMIT(提交)或ROLLBACK(回滚)结束的事务,一个事务又包含若干个以GO结束的批处理,一个批处理包含若干条T-SQL语句。因此T-SQL程序的基本结构为:

{             
     BEGIN TRANSACTION
           {  T-SQL语句[ …n]
     GO
            }[ …n]
     { COMMIT | ROLLBACK }
}[ …n]

--例:下列T-SQL程序含两个事务,每个事务又含两个批处理。
USE  教学管理
GO
BEGIN TRANSACTIONDELETE FROM 选课表 WHERE 学号=’S060101’DELETE FROM 学生表 WHERE 学号=’S060101’GOSELECT * FROM 选课表 WHERE 学号=’S060101’SELECT * FROM 学生表 WHERE 学号=’S060101’GO
ROLLBACK
BEGIN TRANSACTIONINSERT INTO 学生表(学号,身份证号,姓名,专业,所在院系) VALUES
('S060199','****19880115***','张三','计算机','信息学院')INSERT INTO 选课表(学号,课程号) VALUES(’S060199’, ’010101’)GOSELECT * FROM 选课表 WHERE 学号=’S060199’SELECT * FROM 学生表 WHERE 学号=’S060199’GO
COMMIT

8.1.2  注释 

注释是程序代码中不执行的文本,用于对代码进行说明暂时禁用正在进行调试的部分T-SQL 语句和批处理。
SQL Server支持两种类型的注释: 

1.双减号(--)
从双减号(--)开始到行尾均为注释,是单行注释
2.斜杠-星号对(/*…*/)
从“/*”开始到“*/”结束的内容均视为注释,常用来给出多行注释

注意: 斜杠-星号对注释不能跨越批。例如,以下程序是错误的。

USE  教学管理
GO
SELECT * FROM 课程表
/* The
GO in this comment causes it to be broken in half */
SELECT * FROM products
GO
--下面是一个有效注释的例子。
USE  教学管理
GO
-- First line of a multiple-line comment.
-- Second line of a multiple-line comment.
SELECT * FROM  课程表
GO
/* First line of a multiple-line comment.Second line of a multipl-line comment. */
SELECT * FROM  教师表
GO
SELECT  学号, /* 身份证号, */ 姓名
FROM  学生表
GO

8.1.3  变量

 T-SQL使用两种变量,即全局变量局部变量
全局变量是SQL Server 系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用
局部变量用户自定义的变量,它仅在定义它的批处理内有效,常用来暂存从表中查询到的数据,或作为流程控制变量。SQL Server规定,局部变量必须以@开头,而且必须先用DECLARE命令定义后才可使用。

DECLARE命令的格式:

DECLARE  {@变量名 变量类型}[, …n]

其中变量类型可以是SQL Server支持的所有数据类型,也可以是用户自定义的数据类型。

--以下例子定义了两个局部变量。  
DECLARE  @V1 INT,  @V2 CHAR(100)

8.1.4 变量赋值 

T-SQL使用SELECTSET命令为变量赋值,其语法如下:

SELECT {@变量名=<表达式>}[, …n]
SET @变量名=<表达式>

注意:一条SET语句只能为一个变量赋值,而一条SELECT可以为多个变量赋值。 

--例:用SET和SELECT语句为变量赋值。 
DECLARE @V1 INT, @V2 CHAR(100), @V3 INT, @V4 CHAR(100)
SET @V1=100*100 
SET @V2='ABC'+'DEF'
SELECT @V3=2*@V1, @V4=@V2+'HIJ'
PRINT @V1+@V3
PRINT @V2+@V4
GO

8.2  运算符和表达式

运算符是一种符号,用来指定要在一个或多个表达式中执行的操作。
T-SQL的运算符包括:

1)算术运算符;2)位运算符;3)连接运算符;4)比较运算符;5)逻辑运算符。

表达式是用运算符括号将多个常量、局部变量、列、函数连接起来而得的符合T-SQL语法规则的式子。

T-SQL的表达式有:

1)数值型表达式;

2)字符串表达式;

3)条件表达式;

8.2.1  算术运算符

算术运算符用来对一个或两个数值型数据实施操作,进行其间的算术运算并返回数值型运算结果。

算术运算符包括:

+ (加)        -(减、求负数)    * (乘)       /(除)       %(求余)

8.2.2  位运算符

位运算符用来对一个或两个整型数据实施操作,进行其间的按位运算并返回整型运算结果。

位运算符包括:

&(按位与)        |(按位或)       ~(按位取反)      ^(按位异或)

8.2.3  连接运算符

连接运算符用来将两个字符串操作数进行首尾相接,形成一个更长的字符串作为运算结果返回。

T-SQL的连接运算符是“+

8.2.4  比较运算符

比较运算符用来对一个、两个或3个(同类)数据实施操作,进行其间的比较运算并返回逻辑值“真”或“假”。分为普通的和特殊的两类。 
普通比较运算符用来对两个同类数据实施比较,包括:

>(大于)         <(小于)        =(等于)        >=(大于等于)        <=(小于等于)        <>(不等于)        !=(不等于)        !>(不大于)        !<(不小于)

特殊比较运算符实际上是普通比较运算符的推广或缩写形式,包括:

[NOT] BETWEEN AND                              (确定范围,三元运算)

[NOT] IN                                                     (确定集合,二元运算)

[NOT] LIKE                                                 (字符串匹配,二元运算)

IS [NOT] NULL                                            (空值判断,一元运算)

<普通比较运算符>+{ALL|ANY}                   (二元运算)

EXISTS                                                        (一元运算)

特殊比较运算符的用法请参阅第5章的文章内容 

8.2.5 逻辑运算符

逻辑运算符用来对一个或两个逻辑型数据实施操作,进行其间的逻辑运算并返回逻辑值“真”或“假”。

逻辑运算符包括:

AND(与)        OR(或)        NOT(非)

8.2.6  表达式

T-SQL的表达式可分为数值型表达式字符串表达式条件表达式
数值型表达式是用算术运算符位运算符括号将多个数值型常量数值型局部变量数值型列数值型函数连接起来而得的符合T-SQL语法规则的式子。数值型表达式的返回值是数值型数据。
字符串表达式是用连接运算符括号将多个字符型常量字符型局部变量字符型列字符型函数连接起来而得的符合T-SQL语法规则的式子。字符串表达式的返回值是字符串。
条件表达式是用比较运算符逻辑运算符括号将多个数值型表达式字符串表达式连接起来而得的符合T-SQL语法规则的式子。条件表达式的返回值是逻辑值“真”或“假”。  

函数、流程控制、程序应用实例分析三部分的内容后续会在本篇文章中更新添加

http://www.khdw.cn/news/36059.html

相关文章:

  • 404 wordpressseo优化关键词分类
  • 原油可以取什么做标题发网站搜索引擎优化案例分析
  • 支付宝网站登录入口客户管理软件
  • 网站内容结构seo 网站优化推广排名教程
  • 长治哪家公司做网站好中国站长站官网
  • 陕西找人做网站多少钱网络广告的计费方式
  • 网上购物商城开发seo软文代写
  • 做一个医院网站多少钱优化推广网站推荐
  • 有关做橡胶品的网站游戏推广员招聘
  • 招聘 网站建设it培训机构培训费用
  • 怎样建设网站流程活动营销推广方案
  • 兴科cms网站建设系统爱链网中可以进行链接买卖
  • 如何制作一个购物网站seo研究中心官网
  • 网站充值提现公司账务怎么做营业推广怎么写
  • aspnet网站开发选择题网站优化软件哪个好
  • 游戏登录器列表更新网站建设知乎怎么申请关键词推广
  • 网站banner尺寸代写稿子的平台
  • 百度网页制作网站建设seo怎么做推广
  • 哪个网站专题做的好搜索引擎营销有哪些方式
  • 租房网站的财务分析表怎么做seo排名优化seo
  • 上海网站建设seo1888站长工具seo客户端
  • 公司网站制作源码搜索引擎的营销方法有哪些
  • 厦门做网站个人青岛网站建设公司排名
  • 怎么看一个网站用什么平台做的seo长尾关键词排名
  • 网站悬浮图标怎么做seo服务外包
  • 用花生壳做网站速度可以吗html网页制作用什么软件
  • 服装设计师培训学校南昌seo网站推广
  • flash网站建设技术百度app安卓版下载
  • 商务网站建设策划书小红书sem是什么意思
  • 3e网站建设长春视频剪辑培训机构