T-SQL(二)自定义函数的控制流语句
来源:互联网 发布:php易支付 编辑:程序博客网 时间:2024/05/24 03:06
自定义函数
内联表值函数:返回值为可更新表。函数内包含单个select语句且该语句可更新,则返回的表也可以更新。
多语句表值函数:返回值为不可更新表。函数内包含多个select语句且该语句可更新,则返回的表不可更新。
标量函数:返回值为标量值。
自定义函数由一个或者多个T-SQL语句构成的子程序,用于封装用户代码
定义格式:
CREATEFUNCTION 函数名(参数列表)
RETURNS数据类型---定义返回值类型
AS
BEGIN
变量函数
create function max2( @par1real , @par2 real)
returns real
as
begin
declare @par real
if @par1 > @par2
set @par = @par1
else
set @par = @par2;
return @par
end
内联表值函数
createfunction showPerson( @parint )
returnstable
as
return
select * from Person where Pno = @par
select* from dbo.showPerson(2);
多语句表值函数
create function showStudent( @xuehao varchar(12))
returns @chengji table( xuehao nchar(12), xingming nchar(20))
as
begin
insert @chengji
select xuehao , xingmingfrom student where xuehao= @xuehao
return
end
控制流语句
1、IF--- ELSE
IF…ELSE语句是条件判断语句,其中,ELSE子句是可选的,最简单的IF语句没有ELSE子句部分。
IF…ELSE语句用来判断当某一条件成立时执行某段程序,条件不成立时执行另一段程序。
2、BEGIN ---END
BEGIN…END语句能够将多个Transact-SQL语句组合成一个语句块,并将它们视为一个单元处理。
在条件语句和循环等控制流程语句中,当符合特定条件便要执行两个或者多个语句时,就需要使用BEGIN…END语句。
其语法形式为:
BEGIN
{ sql_statement | statement_block }
END
3、CASE函数
CASE函数可以计算多个条件式,并将其中一个符合条件的结果表达式返回。
CASE函数按照使用形式的不同,可以分为简单CASE函数和搜索CASE函数。
例:
Select Pname,age,
case prof
When '总经理'then '高层干部'
When '部门经理'then '高层干部'
When '主任'then '中层干部'
When '组长'then '基层干部'
End
From person
4、WHILE…CONTINUE…BREAK语句
CONTINUE语句可以使程序跳过CONTINUE语句后面的语句,回到WHILE循环的第一行命令。
BREAK语句则使程序完全跳出循环,结束WHILE语句的执行。
5、GOTO语句
GOTO语句可以使程序直接跳到指定的标有标识符的位置处继续执行,而位于GOTO语句和标识符之间的程序将不会被执行。
GOTO语句和标识符可以用在语句块、批处理和存储过程中,标识符可以为数字与字符的组合,但必须以“:”结尾。
例:利用GOTO语句求出从加到的总和。
declare @sum int, @countint
select @sum=0, @count=1
label_1:
select @sum=@sum+@count
select @count=@count+1
if @count<=5
goto label_1
select @count , @sum
6、WAITFOR语句
WAITFOR语句用于暂时停止执行SQL语句、语句块或者存储过程等,直到所设定的时间已过或者所设定的时间已到才继续执行。
WAITFOR语句的语法形式为:WAITFOR{ DELAY 'time' | TIME 'time'}
其中,DELAY用于指定时间间隔,TIME用于指定某一时刻,其数据类型为datetime,格式为‘hh:mm:ss’。
waitfortime '12:52'
select* from person
7.RETURN语句
RETURN语句用于无条件地终止一个查询、存储过程或者批处理,此时位于RETURN语句之后的程序将不会被执行。
RETURN语句的语法形式为:RETURN [ integer_expression ]
其中,参数integer_expression为返回的整型值。存储过程可以给调用过程或应用程序返回整型值。
- T-SQL(二)自定义函数的控制流语句
- T-SQL(二) 自定义函数和控制流语句
- T-SQL-流程控制语句 (转载)
- T-SQL流程控制语句
- 常用的T-SQL语句和函数
- T-SQL-自定义函数
- T-SQL自定义函数
- T-Sql自定义函数
- T-SQL 自定义函数
- T-SQL流程控制语句:两个简单的求和练习
- T-SQL-自定义函数(转载)
- T-SQL操作语句之数据查询(二):查询中使用函数
- T-SQL之流程控制语句(1)
- T-SQL 流控制
- 用户自定义函数 T-SQL
- T-SQL程序设计基础-流程控制语句
- T-SQL中逻辑控制语句
- T-SQL查询进阶--流程控制语句
- JAVA 学习第二天(基本数据类型)
- 扩展0x13BIOS中断
- T-SQL(一)
- 《编程导论(Java)·2.2.3 变量的声明模型》
- ios8.3 越狱之后,没有ps,top等命令
- T-SQL(二)自定义函数的控制流语句
- Acdream 1113 The Arrow(概率dp)
- java线程堆栈问题定位第二讲:多线程中的锁解读
- 从rand5到rand7的思路和代码验证
- android handler创建的简单原理
- 欢迎使用CSDN-markdown编辑器
- less 学习备份
- 飘逸的python - 单例模式乱弹
- 内部类 匿名内部类与接口