SQL Server存储过程实例
来源:互联网 发布:gps航迹编辑软件 编辑:程序博客网 时间:2024/05/22 18:20
SQL 存储过程实例
存储过程是由过程化SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中。类似于函数,使用时只需调用即可。
使用存储过程有以下优点:
1、实现了SQL语句的可复用性
2、存储过程降低了客户机和服务器之间的通信量
3、方便实施企业规划
存储过程的创建一般格式
GO
CREATE PROC proc_name(参数表)
AS
SQL语句
GO
这里使用之前创建好的学生数据库,在该数据库的表上创建存储过程
①创建一个带输入参数的存储过程proc_student,其中的输入参数用于接收课程号,默认值为“C601”,然后在SC表中查询该课成绩不及格的学生学号,
接着在student表中查找这些学生的基本信息,包括学号、姓名、性别和所在系信息,最后输出。
接着在student表中查找这些学生的基本信息,包括学号、姓名、性别和所在系信息,最后输出。
USE STUDENTIF OBJECT_ID ('proc_student','P') IS NOT NULL /*如果存在该存储过程,则删除之*/ DROP PROCEDURE proc_student;GO/*存储过程必须从批处理的第一条开始*/CREATE PROC proc_student(@cno char(4))ASBEGIN SET NOCOUNT ON; /*阻止在结果集中返回可显示受 Transact-SQL 语句或存储过程影响的行计数的消息*/ SELECT * FROM Student WHERE Sno IN ( SELECT sno FROM SC WHERE Cno=@cno AND Grade<60 )ENDGOEXEC proc_student'C601'/*执行该存储过程*/
②创建一个为student表添加学生记录的存储过程Proc_AddStudent。
IF OBJECT_ID ('Proc_AddStudent','P') IS NOT NULL DROP PROCEDURE Proc_AddStudent;GOCREATE PROC Proc_AddStudent(@Sno char(4),@SName nvarchar(10),@Sex char(2),@Age int,@SNative varchar(20),@Department varchar(10),@SAddress varchar(20))ASINSERT INTO Student VALUES(@Sno,@SName,@Sex,@Age,@SNative,@Department,@SAddress)GOEXEC Proc_AddStudent '1802','张华','男',22,'上海','数计系',NULL;SELECT *FROM Student
③创建一个存储过程Proc_DelStudent删除Student表中指定学号的记录。
IF OBJECT_ID('Proc_DelStudent','P') IS NOT NULL DROP PROCEDURE Proc_DelStudent;SELECT *FROM Student WHERE Sno='1802' GO CREATE PROC Proc_DelStudent(@Sno char(4)) AS DELETE FROM Student WHERE Sno=@SnoGOEXEC Proc_DelStudent '1802' --执行删除学号为1802的学生 事务SELECT *FROM Student WHERE Sno='1802'
在查询命令的窗口中输入DROP PROCEDURE语句,删除存储过程。
DROP PROCEDURE proc_student
DROP PROCEDURE Proc_AddStudent
DROP PROCEDURE Proc_DelStudent
0 0
- sql server存储过程实例
- SQL SERVER 存储过程实例
- SQL Server存储过程实例
- SQL Server存储过程实例
- sql server存储过程实例
- sql server 的存储过程实例
- 实例操作 SQL Server存储过程
- MS SQL Server:存储过程实例
- sql server存储过程使用实例
- Sql Server存储过程实例解决
- Sql Server 存储过程实例讲解
- SQL server存储过程语法及实例
- SQL SERVER存储过程
- SQL SERVER存储过程
- Sql Server 存储过程
- SQL Server存储过程
- SQL SERVER 存储过程
- SQL Server 存储过程
- SiteMesh
- ionic2+angular2中踩的那些坑
- java调c
- Set和List的区别
- sql 视图创建
- SQL Server存储过程实例
- 安卓MVP学习感悟
- 3. 登录服务器 login 和热更新
- 一个简单的网页系统Tour(终结) 和效果展示图
- redis的事务(transaction)详解
- Linux ps aux指令詳解
- LeetCode——11. Container With Most Water
- python 正则表达式获取进程信息文本 ?P 用法
- linux中root、uboot、kernel、busybox和文件系统之间是什么关系?