1107SQLserver基础--语句、存储过程
【随堂练习】--查询‘李数’老师教的数学成绩大于80分的学生的信息, 并且人数大于3的话,输出达标;否则输出不达标。
存储过程 --带参数的程序代码块---代表执行命令存储在数据库中,存储代码,没有调用
1、--创建存储过程
create procedure--(可简写成proc) --+存储过程名称 -----存储过程格式
@bianliang1 --+数据类型 ---- as和存储过程名之间可以加参数形参(传递的形参)
@bianliang2 --+数据类型
as
Begin
可定义变量----临时用的形参
语句
End
2、--执行存储过程:
方法1:可编程性--存储过程--执行存储过程
默认自动的定义变量接受返回值。
【注意】不管成功还是失败,都会自带成功或失败的返回值,
返回0代表执行成功。
方法2:如何写代码执行存储过程
Exec(执行,execute) procedure
【注意】写代码同方法1的区别,是因为没有定义变量接受返回值就不会自动返回,想要得到变量结果,需要定义变量来接收存储过程才能打印。
3、--修改存储过程
Alter proc firstproc ------同修改表的格式
As
Select code,chinese,math,english ,name from score,student where score,student--写一句存储过程( 查询一个表)可以不写begin..end
go
Exec firstproc
4、--查询多个表必须加begin..end
create proc secondproc
as
begin
select *from score
select *from student
select *from teacher
end
go
exec secondproc
5、--加语句的存储过程
6、--带参数的存储过程(重点)
格式:
create proc fourproc --创建存储过程
@name varchar(20) --有多个变量,数据类 型后加逗号 --可加参数
as
begin --begin相当于大括号的左边
declare @counts int,@kecheng varchar(20) --定义临时变量+数据类型
select @counts=count(*) from teacher where name=@name --语句执行
if @counts=0 --加入分支语句
begin
print '没有找到这个老师'
end
else
begin
select @kecheng=course from teacher where name=@name
declare @count int
if @kecheng='语文'
begin
select @count=count(*) from score where stucode in (
select code from student where chteacher=(select code from teacher where name=@name)
) and chiese>=80
end
if @kecheng='数学'
begin
select @count=count(*) from score where stucode in (
select code from student where mateacher=(select code from teacher where name=@name)
) and math>=80
end
if @kecheng='英语'
begin
select @count=count(*) from score where stucode in (
select code from student where enteacher=(select code from teacher where name=@name)
) and english>=80
end
if @count>=3
begin
print '达标' --打印存储过程
end
else
begin
print '不达标'
end
end
end
go
exec fourproc @name='莫言1'
【随堂练习】
7、--使用return返回值得存储过程
【随堂练习1】
【随堂练习2】
8、--带返回值、返回参数、输入参数的存储过程
9、--删除存储过程
Drop proc fiveproc (+存储过程名称)
【课后练习】 -- 练习题目--
/*
创建一个货物表:编号,货物名称,单位,价格,库存数量,备注
新增10条数据
之后,进货,如果已有此货,增加数量,否则,新增入数据库表中
出货,如果有人要货,判断数量是否充足,充足减库存,否则告诉不足
*/
1107SQLserver基础--语句、存储过程的更多相关文章
- T——SQL基础语句(定义变量,赋值,取值,分支,循环,存储过程)
T--SQL基础语句 1.定义变量: declare @变量名 数据类型 ; declare @a int ; declare @b nvarchar(10) ; 2.赋值: 法1:set @变量名 ...
- 【SQL Server】SQL Server基础之存储过程
SQL Server基础之存储过程 阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储 ...
- MySQL 基础语句
MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...
- MySQL基础语句与其在Python中的使用
一.MySQL基础语句 $ mysql -u root -p (有密码时) $ mysql -u root (无密码时) QUIT (or \q) 退出 查看当前所有数据库 show dat ...
- 【2017-03-10】T-sql基础语句及条件,高级查询
一.T-sql基础语句 1.创建数据库:create database 数据库名 (不能中文,不能数字开头,不能符号开头) 2.删除数据库:drop database 数据库名 3.选择数据库:us ...
- 10-14C#基础--语句(switch....case和for...循环)
10-14C#基础--语句(2) 一.课前作业:“跟电脑猜拳” 二.switch(定义的变量,参数值)......case.... 注:switch...case大多用于值类型的判断,这里不同于if表 ...
- 入门MySQL——基础语句篇
前言: 前面几篇文章,我们介绍了MySQL的基础概念及逻辑架构.相信你现在应该有了自己的一套MySQL环境,接下来我们就可以开始练习MySQL了.本文将从MySQL最基础的语句出发,为你展示出创建及 ...
- SQL 数据库基础语句
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建备份 ...
- 面试题: 数据库 真实面试题已看1 操作语句 存储过程 挺好 sql语句练习 有用
今天到某公司笔试,数据库考的比较多,但是说老实话,考的也比较基础.现在趁回忆得起来,将数据库知识简单整理如下: 一.建表指令 比如创建一个学生表student,它由学号Sno,姓名Sname,性别Ss ...
随机推荐
- 开发者必备,超实用的PHP代码片段!
此前,研发频道曾发布<直接拿来用,10个PHP代码片段>,得到了网友们的一致好评.本文,笔者将继续分享九个超级有用的PHP代码片段.当你在开发网站.应用或者博客时,利用这些代码能为你节省大 ...
- Js的cookie
我们现在清除cookie缓存. 然后发起的请求观察: ============== ============= 已经有cookie的情况下发起请求: 我们在看看第一次没有缓存的情况下,返回的数据:
- 实现继承+接口继承+虚方法+隐藏方法+this/base+抽象类+密封类/方法+修饰符
概念: 在上一节课中学习了如何定义类,用类当做模板来声明我们的数据. 很多类中有相似的数据,比如在一个游戏中,有Boss类,小怪类Enemy,这些类他们有很多相同的属性,也有不同的,这个时候我们可以使 ...
- EF-局部更新
// ////1 public Task ReservedQuantity(long productId, long skuId, int reservedQuantity, long userId) ...
- 如何关闭Windows10系统更新
单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”搜索 在结果中选择查看本地服务 在服务列表中找到windows update服务双击它 点击停止按钮先停止该服务,稍等片 ...
- Git之(一)Git是什么[转]
为什么使用Git 孔子曾经曰过的,名正则言顺 言顺则事成. 我们在学习一项新技术之前,弄清楚为什么要学它至关重要,至于为什么要学习Git,我用一段if-else语句告诉你原因: if(你相信我){ 我 ...
- toggle input radio
$(function(){ $('input[name="rad"]').click(function(){ var $radio = $(this); // if this wa ...
- 实用工具类--第三方开源--Lazy
下载地址 :https://github.com/ddwhan0123/Lazy 工具 描述 AnimationUtils 动画工具类 AppUtils APP相关信息工具类 AssetDatabas ...
- LeetCode OJ:Validate Binary Search Tree(合法的二叉搜索树)
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...
- OpenCV - Android Studio 2.2 中利用CAMKE进行OpenCV的NDK开发
我在http://www.cnblogs.com/fx-blog/p/8206737.html一文中提到了如何在Android Studio中Java层导入OpenCV(包含opencv_contri ...