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.

VoLLcloud(月付低至2.8刀)香港vps大带宽,三网直连

VoLLcloud LLC是一家成立于2020年12月互联网服务提供商企业,于2021年1月份投入云计算应用服务,为广大用户群体提供云服务平台,已经多个数据中心部署云计算中心,其中包括亚洲、美国、欧洲等地区,拥有自己的研发和技术服务团队。现七夕将至,VoLLcloud LLC 推出亚洲地区(香港)所有产品7折优惠,该产品为CMI线路,去程三网163,回程三网CMI线路,默认赠送 2G DDoS/C...

hosthatch:14个数据中心15美元/年

hosthatch在做美国独立日促销,可能你会说这操作是不是晚了一个月?对,为了准备资源等,他们拖延到现在才有空,这次是针对自己全球14个数据中心的VPS。提前示警:各个数据中心的网络没有一个是针对中国直连的,都会绕道而且ping值比较高,想买的考虑清楚再说!官方网站:https://hosthatch.com所有VPS都基于KVM虚拟,支持PayPal在内的多种付款方式!芝加哥(大硬盘)VPS5...

PQ.hosting:香港HE/乌克兰/俄罗斯/荷兰/摩尔多瓦/德国/斯洛伐克/捷克vps,2核/2GB内存/30GB NVMe空间,€3/月

PQ.hosting怎么样?PQ.hosting是一家俄罗斯商家,正规公司,主要提供KVM VPS和独立服务器,VPS数据中心有香港HE、俄罗斯莫斯科DataPro、乌克兰VOLIA、拉脱维亚、荷兰Serverius、摩尔多瓦Alexhost、德国等。部分配置有变化,同时开通Paypal付款。香港、乌克兰、德国、斯洛伐克、捷克等为NVMe硬盘。香港为HE线路,三网绕美(不太建议香港)。免费支持wi...

删除用户为你推荐
软银集团日本软银公司是个什么单位 ?是软件公司吗?美团月付怎么关闭美团外卖如何关闭快捷支付方式电脑管家和360哪个好360卫士和电脑管家,哪个更好核芯显卡与独立显卡哪个好独立显卡和核心显卡哪个好手机炒股软件哪个好免费手机炒股软件哪个好?群空间登录怎样进入群空间qq空间登录不上为什么我登不进去QQ空间东莞电信网上营业厅东莞虎门的中国电信营业厅的电话是多少?首选dns服务器地址什么是首选DNS服务器,备用DNS服务器?是电脑还是什么?dns服务器什么意思DNS服务器是什么意思啊?是指路由器吗?
godaddy域名注册 日本动态vps 已备案域名出售 2019年感恩节 hostmaster 博客主机 天猫双十一秒杀 国外免费空间 个人免费空间 数字域名 什么是刀片服务器 网站卫士 cdn加速是什么 万网空间管理 免费外链相册 阿里云免费邮箱 浙江服务器 工信部icp备案查询 阿里云邮箱申请 云销售系统 更多