我是靠谱客的博主 端庄外套,最近开发中收集的这篇文章主要介绍【期末复习】存储过程与触发器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

局部变量是用户可自定义的变量,它的作用范围仅在程序内部

局部变量必须以@开头,而且必须先用DECLARE 命令说明后才可使用。其说明形式如下:

    DECLARE @变量名 变量类型[,@变量名变量类型…]

在Transact-SQL 中不能像在一般的程序语言中一样使用“变量=变量值”来给变量赋值,必须使用SELECT SET 命令来设定变量的值。

全局变量是SQL Server 系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用

全局变量不是由用户的程序定义的,它们是在服务器级定义的,只能使用预先说明及定义的全局变量。

引用全局变量时必须以“@@”开头。

局部变量的名称不能与全局变量的名称相同,否则会在应用中出错。

在Transact-SQL 中可使用两类注释符:
1.ANSI 标准的注释符“--”用于单行注释。

2.与C 语言相同的程序注释符号,即“/*……*/”,/* 用于注释文字的开头,*/用于注释文字的结尾,可在程序中标识多行文字为注释。 

如果不使用程序块,IF 或ELSE 只能执行一条命令
IF ELSE 可以进行嵌套,在Transact-SQL 中最多可嵌套32 级。 

如果所有WHEN子句后的表达式的值都为假,则返回ELSE后的表达式的值

如果在CASE语句中没有ELSE子句,则CASE表达式返回NULL。 

如果运行过程产生了多个错误,SQL Server 系统将返回绝对值最大的数值;

RETURN 语句不能返回NULL值。

DECLARE 命令用于声明一个或多个局部变量游标变量表变量
在用DECLARE命令声明之后,所有的变量都被赋予初值NULL
需要用SELECTSET 命令来给变量赋值。

变量类型可为系统定义的或用户定义的类型,但不能为TEXT、NTEXTIMAGE类型。

CURSOR 指名变量是局部的游标变量。

如果变量为字符型,那么在data_type 表达式中应指明其最大长度,否则系统 认为其长度为1

PRINT 命令向客户端返回一个用户自定义的信息,即显示一个字符串、局部变量或全局变量。

如果变量值不是字符串的话,必须先用数据类型转换函数CONVERT()将其转换为字符串

SELECT 命令可以一次给多个变量赋值
当表达式expression 为列名时,SELECT 命令可利用其查询功能一次返回多个值,变量中保存的是其返回的最后一个值
如果SELECT命令没有返回值,则变量值仍为其原来的值

当表达式expression 是一个子查询时,如果子查询没有返回值,则变量被设为NULL

SET 命令一次只能给一个变量赋值。

SET 命令功能更强且更严密,因此,SQL Server 推荐使用SET 命令来给变量赋值。 

可以在SELECT 语句的SELECTWHERE 子句以及表达式中使用算术函数。


While @@fetch_status=0

系统过程主要存储在master 数据库中并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息,从而为系统管理员管理SQL Server 提供支持。

CREATE PROCEDURE Query_Study 
(
@sno char(6),
@sn char(20) OUTPUT,
@dept char(10) OUTPUT
)

Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。
Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。
更新事务类似于在删除之后执行插入;首先旧行被复制到 deleted 表中,然后新行被复制到触发器表和 inserted 表中。

最后

以上就是端庄外套为你收集整理的【期末复习】存储过程与触发器的全部内容,希望文章能够帮你解决【期末复习】存储过程与触发器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部