简单的TSQL基础编程格式,存储过程,视图

这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver),以及存储过程格式

首先是变量定义,赋值,分支语句

 

--======TSQL数据库基础编程,定义变量,赋值,分支语句============

declare @a int;-----定义一个int类型变量,declare关键词,变量前要用@符号
declare @b int;

select @a=5;--------给变量赋值,此处用的select赋值
set @b=2;-----------也可用set赋值

if @a>@b------------if语句条件判断
begin---------------begin开始和end结束,里面写执行的程序,可以理解为代码编程中的花括号{}
select '@a大于@b';---此处select也有将结果打印出来的用法,将显示在下方结果列表
end
else
select '@a小于@b';

打印方式有两种,select是映射在结果集里面,还有个print是映射在消息框里面,如print 'hello word'

 

根据以上程序执行打印结果为:@a大于@b

 

然后是循环:

--======TSQL数据库基础编程,循环============

declare @sa int;----定义几个初始变量

select @sa=1;-------给变量赋值
while @sa<=10-------while循环及循环条件
begin
select @sa;---------每次进循环打印显示,根据下面赋值,每次显示不同结果
select @sa=@sa+1;---每次进循环给变量重新赋值
end

打印结果为:

 

存储过程:相当于函数(关键词:create proc--创建,as--写函数体,exec调用存储过程)

四要素:输入,输出,函数名,函数体

创建:

create proc 存储过程名

参数 @a int,

@b int

as

函数体

return 值

调用:

exec 存储过程名

在有返回值的情况下

首先定义变量:(根据返回值类型,定义相对类型的变量,这里以int类型举例)

declare @aaa int;

exec @aaa=存储过程名

--创建存储过程
create proc selectAll
@a int,
@b int
as
return @a+@b;

--调用存储过程
declare @sum int;
exec @sum=selectAll 10,5;
select @sum;

结果:

 

如果想查询多个表的数据,可以直接在存储过程编写,直接调用编写好的存储过程,减少程序中多次手写sql语句

 

--创建存储过程
create proc selectAll
as
select * from User_List
select * from Student
--调用存储过程
exec selectAll

显示结果:

视图:

视图其实就是一个虚拟的表格,一般我们在工作中,会遇到多个表格复杂关联查询,

既给每次操作增加重复工作量,又给团队开发带来不统一性,可能团队中多人需要进行这

几个表的操作,在安排工作需求时还需要告诉他们需要哪些表的数据,如果可以直接将这几个

表关联查询保存,供大家统一调用,就会减少很多不便,视图的作用就出现了,视图就是将几个

需要关联的表关联查询后的虚拟表格,建好视图,就可以直接查询这个视图,得到相应的数据展示,

视图只能查询,不能进行其他操作。

视图的创建很简单,只需写好视图创建语句,并将需要查询的SQL语句执行在创建程序里,就可以成为视图

关键字:view

如下有两张表:Student,Class(关联字段code=cod)

select * from Student
select * from class

我们可以将这两张表关联查询并创建视图(此处取部分字段):

 

create view StudentInformation
as
select t.code,t.name,t1.classtype,t.chengji,t.birth from Student t join class t1 on t.code=t1.cod 

 

然后直接查询这个视图,就能得到想要的关联效果:

 

select * from StudentInformation

 

 

posted @ 2018-05-27 23:53  小飛  阅读(327)  评论(0编辑  收藏  举报