`

sql server简单存储过程

    博客分类:
  • sql
阅读更多
存储过程要实现对于成绩表中,男生的平均成绩与女生的平均成绩,男生大于女生就输出“男生平均成绩大于女生。”,否则就输出“男生平均成绩小于女生平均成绩”

1、新建一个简单的学生成绩表student,并插入记录。查询分析器的创建语句如下:
create table student(   
id int  identity(1,1) primary key ,   
cname varchar(50),   
gender varchar(20),
score numeric(6,2)); 


insert into student values('张三','男',44.4)
insert into student values('李四','男',45.5);   
insert into student values('小花','女',67.6); 
insert into student values('李平','女',98.7);  


2、在sql查询分析器里以命令的方式创建存储过程。
create proc whp as 

if(
(select avg(score) from student where gender='男')>(select avg(score) from student where gender='女')
)

print('男生平均工资大于女生');
else

print('生平均工资小于女生');



3、创建完成后在sql查询分析器里,可以执行,执行时可以直接用存储教程的名字,也可以exec 存储过程的名字




上面情况的第二种存储过程实现。带变量
create proc whp1 as

begin 

declare @x numeric(6,2),@y numeric(6,2)

set @x=(select avg(score) from student where gender='男')
set @y=(select avg(score) from student where gender='女');

print(@x);
print(@y);

if(@x>@y)
print('男生平均成绩大于女生');
else
print('男生平均成绩小于女生');

end




              分格线             

再一个简单存储过程,输入学生的姓名,把学生的成绩输出来。相应的存储过程如下:

create proc whp2 @cname varchar(20)=null
as
if @cname is null
	begin
	print('输入的姓名不能为空');
	return;
	end
else
	begin
	select * from student where cname=@cname
	end


运行时,whp2 学生姓名


对于一个已经存在的存储过程,如果要想修改,就把创建时的create改成alter就可以对已经存在的存储过程进行修改

语法如下

ALTER PROC <存储过程名>
    [(@<参数名><数据类型>……]
AS
    SQL语句|语句块



删除存储过程   drop proc whp

              分格线             
SP_help <存储过程名>:输出指定存储过程的参数和数据类型
SP_helptext <存储过程名>:输出定义指定存储过程内容的源代码。
SP_depends < 存储过程名>:输出与指定存储过程相关的数据库对象。







分享到:
评论

相关推荐

    SqlServer存储过程及调试指南

    SqlServer存储过程及调试指南的知识点如下: 1. 存储过程概念:存储过程是一组为完成特定功能的SQL语句集,这些语句经过编译后存储在数据库中,供用户通过指定存储过程名和参数(如有)来执行。存储过程被称作...

    SQL Server中存储过程比直接运行SQL语句慢的原因

    SQL Server 中存储过程比直接运行 SQL 语句慢的原因 在 SQL Server 中,存储过程比直接运行 SQL 语句慢的原因是 Parameter sniffing 问题。Parameter sniffing 是指 SQL Server 在执行存储过程时,使用参数的统计...

    vs中断点测试sqlserver的存储过程

    下面,我们将详细探讨如何在Visual Studio(以下简称VS)环境中进行SQL Server存储过程的中断点测试。 ### 一、准备工作:创建VS项目 在进行中断点测试前,首先需要在VS中创建一个新的项目。这一步骤是基础,确保...

    在VB6.0中调用SQL Server的存储过程.pdf

    在VB6.0中调用SQL Server的存储过程是VB开发者经常遇到的问题,本文将详细介绍如何在VB6.0中调用SQL Server的存储过程,并对存储过程的优点和使用方法进行了详细的解释。 首先,存储过程是一种封装方法,用于重复...

    sql Server 通用分页存储过程

    sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程

    查看SQL SERVER 加密存储过程

    查看SQL SERVER 加密存储过程 查看SQL SERVER 加密存储过程

    SQL_Server存储过程调试指南

    资源名称:SQL_Server存储过程调试指南内容简介: 存储过程( Stored Procedure)是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来...

    SQLServer存储过程调用WebService

    [Microsoft.SqlServer.Server.SqlProcedure] public static void CallWebService(SqlString url, SqlString methodName) { // 创建 SOAP 服务客户端 SoapHttpClientProtocol client = new ...

    sql server 2008 存储过程与储发器 详解 书籍

    在SQL Server 2008中,存储过程和触发器是数据库管理中不可或缺的重要组成部分,它们为数据库系统提供了更高级别的功能和控制。本篇将深入解析这两个概念及其在实际应用中的具体用法。 首先,存储过程是预编译的SQL...

    Sql Server 存储过程的导出导入.doc

    在SQL Server中,存储过程是一种预编译的SQL语句集合,它允许开发人员封装一组复杂的操作,并在需要时重复调用。存储过程对于数据库管理、数据处理和性能优化具有重要意义。本文主要介绍如何在SQL Server中导出和...

    针对sqlserver 2008 存储过程通过With Encryption加密方式的解密

    针对 SQL Server 2008 存储过程通过 With Encryption 加密方式的解密 SQL Server 2008 存储过程中使用 With Encryption 加密方式可以对存储过程进行加密保护,以防止未经授权的访问和修改。但是,在某些情况下,...

    SQL Server存储过程基本语法

    ### SQL Server 存储过程基本语法知识点解析 #### 一、定义变量 在 SQL Server 中,我们可以使用 `DECLARE` 语句来定义变量,并通过 `SET` 或 `SELECT` 来给变量赋值。 ##### 1. 简单赋值 ```sql DECLARE @a int; ...

    最简单的SQL Server数据库存储过程分页

    本文介绍一种简单且高效的SQL Server存储过程实现分页的方法,这种方法仅需提供SQL语句、每页的记录数以及当前页数即可快速完成分页操作。 #### SQL Server存储过程分页原理 在SQL Server中,通过存储过程实现分页...

    SQLServer存储过程转为oracle存储过程的工具

    可以将SQL Server存储过程转为oracle存储过程的工具

    SQLserver存储过程异常处理.txt

    SQLserver存储过程异常处理

    oracle到sqlserver存储过程语法转换

    ### Oracle到SQL Server存储过程语法转换详解 在数据库迁移项目中,从Oracle迁移到SQL Server是一种常见的场景。本文旨在提供一份详细的指南,帮助开发者更好地理解这两种数据库系统在存储过程方面的语法差异,并...

    编写安全的SQL Server扩展存储过程

    在SQL Server中,扩展存储过程(Extended Stored Procedures)是一种增强数据库功能的方法,它允许开发者创建自己的函数、存储过程和数据类型,这些功能是通过Windows动态链接库(DLL)实现的。编写安全的SQL Server...

    获取sqlserver数据库存储过程源代码

    获取SQLServer数据库中所有存储过程的源代码,可以对代码进行搜索,也可以把源代码保存,非常实用。 可根据需要修改。

    SQL server存储过程习题,SQL触发器习题.rar

    在SQL Server数据库管理系统中,存储过程和触发器是两种非常重要的数据库编程元素,它们对于数据库设计和数据管理具有深远的影响。下面将详细讲解这两个概念及其相关的知识点。 **SQL存储过程**: 1. **定义**:SQL...

Global site tag (gtag.js) - Google Analytics