T-SQL 带参数存储过程

创建带参数的存储过程

 1 use StudentManager
 2 go
 3 if exists(select * from sysobjects where name=‘usp_ScoreQuery4‘)
 4 drop procedure usp_ScoreQuery4
 5 go
 6 create procedure usp_ScoreQuery4 --创建带参数的存储过程
 7 @AbsentCount int output,--缺考总人数
 8 @FailedCount int output,--不及格总人数
 9 @CSharp int=60,
10 @DB int=60
11 as
12     select Students.StudentId,StudentName,C#=CSharp,DB=SQLServerDB
13                  from Students
14                  inner join ScoreList on Students.StudentId=ScoreList.StudentId
15                  where CSharp<@CSharp or SQLServerDB<@DB        --显示结果列表
16     select @AbsentCount=count(*) from Students
17                 where StudentId not in(select StudentId from ScoreList) --查询缺考总人数
18     select @FailedCount=count(*) from ScoreList
19                  where CSharp<@CSharp or SQLServerDB<@DB      --查询不及格总人数
20 go

调用

1 use StudentManager
2 go
3 --调用带参数的存储过程
4 declare @AbsentCount int,@FailedCount int --首先定义输出参数
5 exec usp_ScoreQuery4 @AbsentCount output,@FailedCount output
6 --使用反馈的结果
7 select 缺考总数=@AbsentCount,不及格总数=@FailedCount

调用时传入输入参数

1 use StudentManager
2 go
3 --调用带参数的存储过程
4 declare @AbsentCount int,@FailedCount int --首先定义输出参数
5 exec usp_ScoreQuery4 @AbsentCount output,@FailedCount output ,65,70
6 --使用反馈的结果
7 select 缺考总数=@AbsentCount,不及格总数=@FailedCount

原文地址:https://www.cnblogs.com/Spinoza/p/10052359.html

时间: 2024-11-13 07:52:25

T-SQL 带参数存储过程的相关文章

SQL SERVER 系统存储过程

Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行. 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数.输出参数.返回单个或多个结果集以及返回值. 由于存储过程在创建时即在数据库服务器上进

SQL Server 的存储过程

Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行. 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数.输出参数.返回单个或多个结果集以及返回值. 由于存储过程在创建时即在数据库服务器上进

c#调用Mysql带参数的存储过程

1.首先创建一个带参数的存储过程 ①存储过程名称=proc_bookinfo  ②存储过程2个参数 一个in 一个out in参数名称=ispay out参数名称=unPaycount ③ 这个存储过程 根据传入的未支付字段名称 输出未支付的商品数量 DELIMITER $$ USE `bookshop`$$ DROP PROCEDURE IF EXISTS `proc_bookinfo`$$ CREATE DEFINER=``@`` PROCEDURE `proc_bookinfo`(IN i

SQL Server之 (四) ADO增删查改 登录demo 带参数的sql语句 插入自动返回行号

SQL Server之 (四) ADO增删查改  登录demo  带参数的sql语句  插入自动返回行号 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.什么是ADO.NET ADO.NET是一组类库,这组类库可以让我们通过程序的方式访问数据库,并以各种方式操作存储在其中的数据; ADO.NET是基于.NET FrameWork,与.NET FrameWork类库的其余部分是高度集成的 2.连接数据库的步骤 ①创建连接字符串 Data Source=XXX-PC; Initial Catal

oracle存储过程(带参数的存储过程)

带参数的存储过程 举例:为指定的员工涨100元的工资,打印涨前和涨后的工资 如果带参,需要指定是输入参数还是输出参数 create or replace procedure raisesalary(eno in number) as ---定义一个变量保存涨前的薪水,引用emp中sal的类型作为psal的类型 psal emp.sal%type; begin ---得到员工涨前的薪水 select sal into psal from emp where empno=eno; ---给该员工涨1

带参数的存储过程

创建带参数的sql存储过程:创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用惟一的名称进行定义.与标准的Transact-SQL变量相同,参数名必须以@为前缀,创建带参数的存储过程创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用惟一的名称进行定义.与标准的Transact-SQL变量相同,参数名必须以@为前缀,并且遵从对象标识符规则.当用户不提供该参数的值时可以使用一个默认值来代替.在执行带参数的存储过程时,既可以通过显式指定参数名称并赋予适当

在JDBC中使用带参数的SQL语句

ADO.Net中,支持带参数的SQL语句,例如:Select * from Tables where [email protected],其中@column1为SQL参数,使用起来非常方便,而JDBC中没有找到此功能,感觉有点不便, 于是想自己实现一个.今天正好看见csdn中有一篇http://blog.csdn.net/wallimn/article/details/3734242 文章,有些感触,于是把自己的实现也写出来. 我的思路: 1: 在SQL语句中找到以@开始,以" ",

在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?

在sql server中建存储过程,如果需要参数是一个可变集合的处理 原存储过程,@objectIds 为可变参数,比如 110,98,99 ALTER PROC [dbo].[Proc_totalScore] @categoryKey int, @objectIds VARCHAR(MAX) AS BEGIN      SELECT c.Name,AVG(e.Score) Score FROM dbo.Sys_com_comment_main m      INNER JOIN dbo.sys

SQL SERVER 自带系统存储过程分类

目录存储过程 用于实现 ODBC 数据字典功能,并隔离 ODBC 应用程序以使其不受基础系统表更改的影响. 变更数据捕获存储过程 用于启用.禁用.或报告变更数据捕获对象. 游标存储过程 用于实现游标变量功能. 数据收集器存储过程 用于处理数据收集器和以下组件:收集组.收集项和收集类型. 数据库引擎存储过程 用于 SQL Server 数据库引擎的常规维护. 数据库邮件存储过程 (Transact-SQL) 用于从 SQL Server 实例内执行电子邮件操作. 数据库维护计划存储过程 用于设置管