Transact-SQL(简记为T-SQL)是微软公司在数据库管理系统SQL

删除用户  时间:2021-01-30  阅读:()

Server上的SQL扩展,利用Transact-SQL不仅可以完成数据库上的各种操作,而且可以很容易地编制复杂的例行程序.

Transact-SQL语言的主要特点如下:(1)是一种交互式查询语言,功能强大,简单易学.
(2)既可以直接查询数据库,也可以嵌入到其它高级语言中执行.
(3)非过程化程度高,语句的操作执行由系统自动完成.
(4)所有的Transact-SQL命令都可以在查询分析器中完成.

9.
7Transact-SQL编程9.
7Transact-SQL编程9.
7.
1用户定义的数据类型9.
7.
2流程控制语句9.
7.
3显示和输出语句9.
7.
4函数9.
7.
5存储过程9.
7.
6触发器用户定义的数据类型可以实现以下功能:(1)可以让不同表中重复出现的各列具有相同的特性,使相似的数据种类标准化.
(2)可以将规则和默认值捆绑到用户定义的数据类型上,以约束使用此数据类型的每个列.
1.
创建用户自定义数据类型(1)使用企业管理器创建用户自定义数据类型;(2)使用T-SQL创建用户类型使用T-SQL语句创建用户自定义数据类型,可以通过调用系统存储过程sp_addtype实现,具体语法为:sp_addtypetype[,systemdata_type][,'null_type']9.
7.
1用户定义的数据类型2.
查看用户自定义数据类型可以使用sp_help系统存储过程来查看用户自定义数据类型的信息,包括它基于的系统数据类型、长度、精度、是否允许空值,以及在这一数据类型上捆绑的规则和默认值等.
3.
删除用户自定义数据类型使用企业管理器删除用户定义的数据类型;(2)使用T-SQL语句删除的方法使用系统存储过程sp_droptype来删除用户自定义数据类型.
语法格式为:sp_droptypetype_name9.
7.
1用户定义的数据类型1.
IF…ELSEIF…ELSE属于分支语句,根据条件测试的结果执行不同的命令体.
其语法结构为:IFBoolean_expression{sql_statement1|statement_block1}[ELSE{sql_statement2|statement_block2}]9.
7.
2流程控制语句2.
BEGIN…ENDBEGIN…END结构使一组Transact-SQL命令作为一个整体或一个单元来执行.
BEGIN定义了一个单元的起始位置,END作为一个单元的结束.
BEGIN…END多用于IF…ELSE结构和WHILE结构中.
其语法结构为:BEGIN{sql_statementstatement-block}END9.
7.
2流程控制语句3.
WHILEWHILE命令用于执行一个循环体.
其语法结构为:WHILEBoolean_expression{sql-statement1|statement_block1[BREAK]sql-statement2|statement_block2[CONTINUE]}9.
7.
2流程控制语句4.
GOTO标签GOTO命令与其它使用GOTO命令的高级语言一样,将程序的执行跳到相关的标签处.
GOTO命令的语法结构如下:GOTOlabel5.
WAITFOR命令WAITFOR命令产生一个延时,使存储过程或程序等候或直到一个特定时间片后继续执行.
其语法结构如下:WAITFOR{DELAY'time'|TIME'time'}9.
7.
2流程控制语句6.
RETURE命令RETURN命令使一个存储过程或程序退出并返回到调用它的程序中.
其语法结构如下:RETURN[integer_expression]7.
注释语句Transact-SQL的注释语句共有两种:行注释、块注释.
在Transact-SQL程序中,由多条命令语句组成的一组程序称为块.
行注释语句以两个减号(--)开始的若干字符,一般位于程序行之后.
块注释语句以/*开始到*/结束的若干字符.

9.
7.
2流程控制语句8.
CASE表达式CASE表达式有两种不同形式:简单CASE表达式和搜索式CASE表达式.

(1)简单CASE表达式简单CASE表达式的语法结构如下:CASElnput_expressionWHENwhen_expression1THENresult_expression1[…][WHENwhen_expressionnTHENresult_expressionn][ELSEelse_resultexpression]END9.
7.
2流程控制语句(2)搜索式CASE表达式搜索式CASE的语法结构如下:CASEWHENBoolean_expression1THENresult_expression1[…][WHENwhen_expressionnTHENresult_expressionn][ELSEelse_result_expression]END9.
7.
2流程控制语句2.
错误消息处理在存储过程中可以使用系统存储过程sp_addmessage、全局变量@@ERROR或RAISERROR命令返回出错信息.

9.
7.
3显示和输出语句1.
内置函数内置函数分类情况如表9-9所示.
9.
7.
4函数2.
用户自定义的函数SQLServer2000支持三种用户自定义函数:返回数值的用户自定义函数、内联(单语句)的返回表的用户自定义函数和多语句返回表的用户自定义函数.
用户自定义函数可以接受零个或多个输入参数,返回值可以是数值或表,不支持输出参数.
创建用户自定义函数用CREATEFUNCTION语句实现.
下面介绍两种简单的CREATEFUNCTION语句格式:(1)返回数值的用户自定义函数语句格式;(2)内联(单语句)的返回表的用户自定义函数语句格式9.
7.
4函数1.
存储过程简介SQLServer中的存储过程类似于编程语言中的过程和函数,它具有以下功能:(1)接受输入参数并返回多个输出值.
(2)包含T-SQL语句用以完成特定的SQLServer操作.
(3)返回一个指示成功与否及失败原因的状态代码给调用它的过程.
存储过程是一组预编译的Transact-SQL语句,主体构成是标准SQL命令,同时包括SQL的扩展:语句块、结构控制命令、变量、常量、运算符、表达式和流程控制等,所有这些组合在一起构成了存储过程.
存储过程有以下几种类型:系统存储过程、用户存储过程、临时存储过程、扩展存储过程和远程存储过程.

9.
7.
5存储过程2.
创建存储过程在SQLServer中创建存储过程主要有以下3种方法:使用向导、使用企业管理器和使用Transact-SQL命令.
3.
存储过程中的参数SQLServer中存储过程的参数包括输入参数和输出参数.
9.
7.
5存储过程4.
修改存储过程在企业管理器中,修改存储过程只需在相应数据库的存储过程对象项中找到要修改的存储过程,双击存储过程打开存储过程属性窗口,在窗口中直接进行修改,完成后单击"确定"按钮.
在T-SQL命令中使用ALTERPROCEDURE可以修改存储过程.
此外,还可以使用查询分析器修改存储过程.
9.
7.
5存储过程5.
运行存储过程(1)存储过程的编译首次运行存储过程时,SQLServer编译并检验其中的程序,如果发现错误,系统将拒绝执行此存储过程.
(2)存储过程的执行具有存储过程执行权限EXECUTE的用户,才可以执行存储过程.
在查询分析器中,可以直接输入存储过程名,指定相应的输入参数和输出参数后执行.
或者利用EXECUTE命令执行.

9.
7.
5存储过程6.
删除存储过程(1)使用企业管理器删除存储过程(2)使用T-SQL命令删除存储过程7.
查看存储过程的有关信息使用sp_helptext系统存储过程,可以查看定义存储过程的T-SQL语句.
使用企业管理器,也可以查看存储过程的定义.

9.
7.
5存储过程1.
触发器简介触发器是一种特殊的存储过程,是SQLServer为保证数据完整性、确保系统正常工作而设置的一种高级技术.
SQLServer2000提供了两种触发器:INSTEADOF和AFTER触发器.
这两种触发器的差别在于他们被激活的时机不同.
2.
创建触发器只有数据库所有者才能创建触发器.
在一个表上创建同名的触发器,将覆盖原有触发器.
创建触发器有以下几种方法.
(1)在SQLServer企业管理器中创建触发器(2)利用Transact-SQL命令创建触发器9.
7.
6触发器3.
AFTER触发器INSERT与UPDATE触发器:当向表中插入数据时,所有数据约束都通过之后,INSERT触发器就会执行.
利用UPDATE修改一条记录时,相当于删除一条记录然后再增加一条新记录.

(2)DELETE触发器:对表进行删除时,如果此表有DELETE型的触发器,则触发器被触发执行.
被删除的记录存在DELETED表中.
当执行DELETE操作时,应注意以下几点:①被放到DELETED表中的记录,不再存于触发器表中,因此触发器表与DElETED表没有共同的记录.
DELETED表放放在内存中,执行效率很高.

9.
7.
6触发器4.
嵌套触发器当一个表上的触发器执行时改变了表中的数据,从而又激活了此表上的另外一个触发器,第2个触发器对表的改变又触发了第3个触发器,以此类推,称为触发器嵌套.
触发器最多可以嵌套32级.
当系统检测到触发器嵌套陷入死循环或超出最大嵌套级时,触发器被取消.

系统默认允许触发器嵌套,SQLServer使用系统过程sp_configure来设置是否允许触发器嵌套.
在使用嵌套触发器时,需要注意以下几点:(1)默认情况下,触发器不能自己调用自己.
(2)在嵌套的触发器中,只要任一触发器中的任一点发生错误,则整个事务和数据都会全部ROLLBACK.

HostKvm5.95美元起,香港、韩国可选

HostKvm发布了夏季特别促销活动,针对香港国际/韩国机房VPS主机提供7折优惠码,其他机房全场8折,优惠后2GB内存套餐月付仅5.95美元起。这是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。下面分享几款香港VPS和韩国VPS的配置和价格信息。...

LiCloud:香港CMI/香港CN2+BGP服务器,30Mbps,$39.99/月;香港KVM VPS仅$6.99/月

licloud怎么样?licloud目前提供香港cmi服务器及香港CN2+BGP服务器/E3-1230v2/16GB内存/240GB SSD硬盘/不限流量/30Mbps带宽,$39.99/月。licloud 成立於2021年,是香港LiCloud Limited(CR No.3013909)旗下的品牌,主要提供香港kvm vps,分为精简网络和高级网络A、高级网络B,现在精简网络和高级网络A。现在...

台湾云服务器整理推荐UCloud/易探云!

台湾云服务器去哪里买?国内有没有哪里的台湾云服务器这块做的比较好的?有很多用户想用台湾云服务器,那么判断哪家台湾云服务器好,不是按照最便宜或最贵的选择,而是根据您的实际使用目的选择服务器,只有最适合您的才是最好的。总体而言,台湾云服务器的稳定性确实要好于大陆。今天,云服务器网(yuntue.com)小编来介绍一下台湾云服务器哪里买和一年需要多少钱!一、UCloud台湾云服务器UCloud上市云商,...

删除用户为你推荐
输入法哪个好用输入法那个软件好骁龙765g和骁龙865哪个好骁龙865八核2.84H和骁龙855plus八核2.96GHZ那个好了?免费阅读小说app哪个好什么小说软件好用又免费游戏盒子哪个好lol游戏盒子哪个好加速器哪个好英雄联盟有什么加速器好用的?辽宁联通网上营业厅的联通营业厅怎么走dns服务器有什么用DNS服务器是什么,有什么作用。360云盘网页版360云盘电脑版与网页版有什么区别?如果资料全存在360云盘电脑版里面,那网页版会是空的还是自动同步?假如电脑坏了,或重装了,那电脑版里面的资料如何才能找回不?360云盘下载360云盘和百度云哪个好用,请说出为什么。360云网盘下载360云盘怎么下载和移走以前的文件?
cn域名个人注册 阿里云搜索 mediafire下载工具 12306抢票攻略 xfce 刀片服务器是什么 双线主机 vip购优惠 免费测手机号 ftp免费空间 免费phpmysql空间 酷番云 申请免费空间和域名 香港亚马逊 中国电信网络测速 web应用服务器 购买空间 国内空间 杭州电信宽带 789电视剧网 更多