简单的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
简单的TSQL基础编程格式,存储过程,视图的更多相关文章
- 【2017-03-16】TSQL基本编程、存储过程、触发器
一.TSQL基本编程 1.定义变量 :declare @变量名 数据类型 变量名前面必须加"@"符号 declare @aaa int; declare @bbb n ...
- T-SQL 基础编程
Ø Go批处理语句 用于同时执行多个语句 Ø 使用.切换数据库 use master go Ø 创建.删除数据库 方法1. --判断是否存在该数据库,存在就删除 if (exists (select ...
- T-SQL基础(一)之简单查询
名词解释 SQL: Structured Query Language,结构化查询语言,是一种在关系型数据库中用于管理数据的标准语言.SQL是一种声明式编程语言,即只需表明需要什么而无需关注实现细节( ...
- Oracle学习2 视图 索引 sql编程 游标 存储过程 存储函数 触发器
---视图 ---视图的概念:视图就是提供一个查询的窗口,来操作数据库中的数据,不存储数据,数据在表中. ---一个由查询语句定义的虚拟表. ---查询语句创建表 create table emp a ...
- SQL基础随记2 视图 存储过程
SQL基础随记2 视图 存储过程 View CREATE/ALTER/DROP VIEW ViewName as SELECT(...) 可以在视图的基础上继续创建视图,即,将之前创建的视图当做表 ...
- SQL Server2012 T-SQL基础教程--读书笔记(1-4章)
SQL Server2012 T-SQL基础教程--读书笔记(1-4章) SqlServer T-SQL 示例数据库:点我 Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的 ...
- [置顶] 图书推荐:SQL Server 2012 T-SQL基础 Itzik Ben-Gan
经过近三个月的不懈努力,终于翻译完毕了.图书虽然是基础知识,但是,即使你已经使用T-SQL几年,很多地方还是能够弥补你的知识空白.大师级的人物写基础知识,或许你想知道这基础中还有哪些深奥,敬请期待吧. ...
- SQL Server2012 T-SQL基础教程--读书笔记(8 - 10章)
SQL Server2012 T-SQL基础教程--读书笔记(8 - 10章) 示例数据库:点我 CHAPTER 08 数据修改 8.1 插入数据 8.1.1 INSERT VALUES 语句 8.1 ...
- 【T-SQL基础】01.单表查询-几道sql查询题
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
随机推荐
- python中类的创建和实例化
python中同样使用关键字class创建一个类,类名称第一个字母大写,可以带括号也可以不带括号: python中实例化类不需要使用关键字new(也没有这个关键字),类的实例化类似函数调用方式: # ...
- leetcode 388.Lonest Absolute File Path
要求寻找的是最长的长度的,那么考虑文件夹和文件的存在的不同形式的,利用当前所存在的层数和对应的长度之间做一个映射关系的并且用于计算总的长度关系的. class Solution { public: i ...
- Web.xml详解分析
一.首先了解项目加载的优先级 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter. 最终得出的结 ...
- java.net.BindException: Address already in use: JVM_Bind:80 异常的解决办法
今天遇见了这个端口被占用问题 然后各种百度 先是说 用命令 netstat -a -n -o 最后一个选项表示连接所在进程id. 找到8080端口的PID然后打开任务管理器, 切换到进程选项卡, 在菜 ...
- Introduction of filter in servlet
官方给出的Filter的定义是在请求一个资源或者从一个资源返回信息的时候执行过滤操作的插件.我们使用过滤起最多的场景估计就是在请求和返回时候的字符集转换,或者权限控制,比如一个用户没有登录不能请求某些 ...
- ORA-02275: 此表中已经存在这样的引用约束条件
问题描述: 针对这个问题,发表一下我的观点.emp表和dept表使用hibernate关联查询时报的错,使用的是非注解形式,和其他一样.他们各自有entity,各自有一个hbm.xml文件,emp表这 ...
- CSS3 实现圆形、椭圆形、三角形等各种形状样式
CSS3 圆形 #css3-circle{ width: 150px; height: 150px; border-radius: 50%; background-color: #232323;} C ...
- 关于PostmanURL中不能传递中文的问题
众所周知,中文乱码等问题在开发过程中让人厌烦,本人最近在使用Postman插件测试web的时候,在请求中添加了中文,结果请求错误 截图如下: 原因:不能直接处理中文,需要自行转化 解决: 1.新建一个 ...
- js有哪些变态的语法?
JS这个语言好是好,但是很多时候写起来太丑了,每次看大牛的代码的时候,妈妈都问我为什么跪着读代码,随着 ES 2015的普及我们可以写出很多可读性强且漂亮的代码,那么接下来就带着大家一块学习一下可以把 ...
- design_patterns_in_typescript 学习
https://github.com/torokmark/design_patterns_in_typescript Creational Singleton [A class of which on ...