use test;
GO
/*创建自定义函数的格式:
* create function 函数名(参数 数据类型)
* returns 返回数据类型 as
* begin
* 代码
* end
*/ --创建一个自定义函数,计算两个整数的和
create function Addition(@num1 int , @num2 int)
returns int as
begin
declare @result int;
set @result = @num1 + @num2;
return @result;
end
GO
select [dbo].Addition(200,100)
--使用print调用
print [dbo].Addition(200,100)
--使用exec调用函数(参数不用括号)
declare @myresult int;
exec @myresult = [dbo].Addition 200,100
--使用drop删除Addition函数
drop function [dbo].Addition

练习(完整)

--创建表
create table Class130(
id int primary key identity,
stuName varchar(12),
stuAge int,
stuSex nchar(1) default ('男'),
Brithday datetime default(getdate()),
teacherName varchar(12) defualt ('Young Sir')
) --插入数据
insert into Class130(StuName) values ('Viusuangio') --函数查询表数据(传参)
create function getTeacherName(@stuname varchar(12))
returns table as
return(
select stuName , teacherName from Class130
where stuName = @stuname
)
GO
select * from [dbo].getTeacherName('Viusuangio'); --创建函数,传入整数,与1024比较;
create function judgeWith1024(@num int)
returns varchar(20) as
begin
declare @output varchar(20);
if @num > 1024
set @output = '判断:'+@num+'大于1024';
if @num = 1024
set @output = '判断:'+@num+'等于1024';
else
set @output = '判断:'+@num+'小于1024';
return @output;
end
GO /*根据学号判断学生的出生日期是否是闰年
* 1.普通年能被4整除且不能被100整除的为闰年.
* 2.世纪年能被400整除的是闰年
*/ create function judgeLeapYear(@stuno varchar(12))
returns varchar(20) as
begin
declare @year int , @output varchar(20);
set @year = (select year(Brithday) from StuInfo where stuNo = @stuno);
if @year%4 = 0 and @year%100<>0
set @output = '该学生出生年是闰年';
else
set @output = '该学生出生年非闰年';
return @output;
end
GO --计算1+2+3+……+100的和,并用print显示计算结果
create function additionFrom1To100()
returns int as
begin
declare @result int , @addnum int;
set @result = 0;
set @addnum = 1;
while @num <= 100 begin
set @result += @addnum;
set @addnum += 1;
end
return @result;
end
GO
print [dbo].additionFrom1To100()

T-SQL编程练习(带注释)的更多相关文章

  1. PowerDesigner15.1创建模型及生成带注释sql操作手册

    转自:http://blog.csdn.net/huiwenjie168/article/details/7824029 一.创建模型 操作:file-->new Model… 快捷键:ctrl ...

  2. ORACLE PL/SQL编程详解

    ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...

  3. sql编程 && 存储过程

    sql  结构化查询语言      是一种编程语言   用于管理数据库的编程语言      元素:     数据      数据类型         变量的数据类型  就是字段的数据类型      变 ...

  4. ORACLE PL/SQL编程详解(转)

    原帖地址:http://blog.csdn.net/chenjinping123/article/details/8737604 ORACLE PL/SQL编程详解 SQL语言只是访问.操作数据库的语 ...

  5. Delphi 与SQL编程

    Delphi 与SQL编程 SQL语言作为关系数据库管理系统中的一种通用的结构查询语言, 已经被众多的数据库管理系统所采用,如Oracle.Sybase.Informix等数据库管理系统,它们都支持S ...

  6. PowerDesigner从Sqlserver中反转为带注释的字典及快捷键操作

    PowerDesigner的操作经常忘记,所以把常用的功能记录下来备忘. 1.修改反转过来的字段 PowerDesigner从数据库反转的时候,默认不带注释,需要先进行修改. 输入如下脚本: {OWN ...

  7. sqL编程篇(三) 游标与存储过程

    sql编程2 游标与存储过程 sql编程中的游标的使用:提供的一种对查询的结果集进行逐行处理的一种方式不用游标的处理解决方式:逐行修改工资update salar set 工资=‘新工资’ where ...

  8. [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)

    原文:[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之四: 把游标说透(不怕做不到,只怕想不到) 继上两篇:ORACLE PL ...

  9. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

    原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日 ...

随机推荐

  1. C#异步方法的使用

    from:http://www.myext.cn/csharp/a_6765.html 也许业内很多高不成低不就的程序员都会对一些知识点会有些迷惑,原因是平常工作用的少,所以也就决定了你对这个事物的了 ...

  2. [转]理解I/O Completion Port

    原文:http://dev.gameres.com/Program/Control/IOCP.htm 另附上:http://stackoverflow.com/questions/5283032/i- ...

  3. ios通知机制

  4. lua UT测试工具

    luaunit Luaunit is a unit-testing framework for Lua, in the spirit of many others unit-testing frame ...

  5. Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)

    一.Git是什么?     Git --- The stupid content tracker, 傻瓜内容跟踪器.Git是目前世界上最先进的分布式版本控制系统. 二.SVN与Git的最主要的区别?  ...

  6. Android四大核心组件之Service

    实验内容 启动Service 绑定Service 与Service进行通信 实验要求 启动Service 绑定Service 与Service进行通信 实验步骤 Service概述 Service通常 ...

  7. C语言数据类型取值范围

    一.获取数据类型在系统中的位数 在不同的系统中,数据类型的字节数(bytes)不同,位数(bits)也有所不同,那么对应的取值范围也就有了很大的不同,那我们怎么知道你当前的系统中C语言的某个数据类型的 ...

  8. 南非的5DT数据手套使用说明

    数据手套-5 Ultra/数据手套-14 Ultra 5DT 数据手套-Ultra数据手套的设计目的是为了满足现代动作捕捉和动画制作等专业人士的严格要求.它提供了舒适,易于使用,小型要素和多种应用的驱 ...

  9. 点餐系统Sprint2总结

    Sprint1结束后休息了两天,就开始准备Sprint2.一开始就知道数据库的连接对我们来说都是大难题. 虽然使用sqlite3,与android连接起来比较容易,但还是不容忽视.为期10天,和Spr ...

  10. nyist 78 圈水池

    http://acm.nyist.net/JudgeOnline/problem.php?pid=78 圈水池 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 有一个 ...