SQL Server-存储过程(Procedure),带入参数和出参数

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介:
ylbtech-SQL Server:SQL Server-存储过程(Procedure),带入参数和出参数

 SQL Server 中的存储过程(Procedure),带入参数和出参数。

内容简介

1, 存储过程(Procedure)-基本创建与操作。

2, 存储过程(Procedure)-带入参。

3, 存储过程(Procedure)-带入参和出参。

技术与环境
   

语言类别:

SQL之T-SQL

thankyou: sunshine, 谢谢你的默默付出

数据库:

SQL Server

学习软件:

Microsoft SQL Server

课程总策划:

yuanbo

English name:

sunshine

个人主页:

http://www.cnblogs.com/ylbtech/

科研团队:

ylbtech

教研团队:

ylbtech

1, 存储过程(Procedure)-基本创建与操作。返回顶部

--================================
-- ylb:存储过程创建与操作
--================================
use pubs
 
go
--一、无参存储过程
--1,创建存储过程
create  procedure  PTitles
as
select  * from  titles
 
go
--2,执行存储过程
execute  PTitles
 
go
--3,移除存储过程
--drop procedure PTitles
go
 
2, 存储过程(Procedure)-带入参返回顶部
--==============================
-- ylb:存储过程-入参
-- 16:44 2011/12/14
--==============================
use pubs
 
go
--1,创建带入参存储过程
select  * from  titles where  type= 'business'
 
go
create  proc P_Titles_ByType
@type char (12) --入参
as
select  * from  titles where  type=@type
 
 
go
--2,执行带参数的存储过程
--a)方式一
exec  P_Titles_ByType @type= 'business'
go
--b)方式二
exec  P_Titles_ByType 'business'
 
go
--P1:写一个存储过程,要求图书类型是business且单价大于10的所有信息
--P1_1,创建存储过程
select  * from  titles
where  type= 'business'  and  price>10
 
go
create  proc P_Titles_ByTypeAndPrice
@type char (12), --入参
@price money --入参
as
select  * from  titles
where  type=@type and  price>@price
 
go
--P1_2,执行存储过程
exec  P_Titles_ByTypeAndPrice
@type= 'business' ,@price=10
 
go
exec  P_Titles_ByTypeAndPrice
@price=10,@type= 'business'
 
go
exec  P_Titles_ByTypeAndPrice 'business' ,10
 
go
--是错的,当你直接给值时,一定注意参数的顺序和类型。
--exec P_Titles_ByTypeAndPrice 10,'business'
3, 存储过程(Procedure)-带入参和出参。返回顶部
--================================
-- ylb:存储过程-带入参和出参
-- 16:44 2011/12/14
--================================
use pubs
 
go
select  * from  titles
--P1:查图书编号是“BU1032”的图书的单价是多少?
select  price from  titles where  title_id= 'BU1032'
 
go
--P1_1,创建
create  proc P_Titles_ByTitleID_SelectPrice
@title_id varchar (6) --入参
as
select  price from  titles where  title_id=@title_id
 
go
--P1_2,执行
exec  P_Titles_ByTitleID_SelectPrice 'BU1032'
 
go
--P2_1,创建
create  proc P_Titles_ByTitleID_SelectPrice2
@title_id varchar (6), --入参
@price money output    --出参【出参加标识(output)】
as
select  @price=price from  titles where
title_id=@title_id
--出参的@在=左边
 
go
--1,先声明变量
declare  @price2 money
--2,之后在调用
exec  P_Titles_ByTitleID_SelectPrice2
@title_id= 'BU1032' ,
@price=@price2 output
--3,再之后在查声明变量
select  @price2
--出参要声明,配参后面要加output标识,之后再查声明变量。

本文转自ylbtech博客园博客,原文链接:http://www.cnblogs.com/ylbtech/archive/2012/08/14/2638257.html ,如需转载请自行联系原作者
相关文章
|
5月前
|
存储 SQL 数据库连接
C#程序调用Sql Server存储过程异常处理:调用存储过程后不返回、不抛异常的解决方案
本文分析了C#程序操作Sql Server数据库时偶发的不返回、不抛异常问题,并提出了解决思路。首先解析了一个执行存储过程的函数`ExecuteProcedure`,其功能是调用存储过程并返回影响行数。针对代码执行被阻塞但无异常的情况,文章总结了可能原因,如死锁、无限循环或网络问题等。随后提供了多种解决方案:1) 增加日志定位问题;2) 使用异步操作提升响应性;3) 设置超时机制避免阻塞;4) 利用线程池分离主线程;5) 通过信号量同步线程;6) 监控数据库连接状态确保可用性。这些方法可有效应对数据库操作中的潜在问题,保障程序稳定性。
438 11
|
存储 SQL 数据库
SQL Server存储过程的优缺点
【10月更文挑战第18天】SQL Server 存储过程具有提高性能、增强安全性、代码复用和易于维护等优点。它可以减少编译时间和网络传输开销,通过权限控制和参数验证提升安全性,支持代码共享和复用,并且便于维护和版本管理。然而,存储过程也存在可移植性差、开发和调试复杂、版本管理问题、性能调优困难和依赖数据库服务器等缺点。使用时需根据具体需求权衡利弊。
281 1
|
存储 SQL 缓存
SQL Server存储过程的优缺点
【10月更文挑战第22天】存储过程具有代码复用性高、性能优化、增强数据安全性、提高可维护性和减少网络流量等优点,但也存在调试困难、移植性差、增加数据库服务器负载和版本控制复杂等缺点。
442 1
|
存储 SQL 数据库
Sql Server 存储过程怎么找 存储过程内容
Sql Server 存储过程怎么找 存储过程内容
624 1
|
1月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
242 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
1月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
1月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
6月前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
2月前
|
SQL 人工智能 Linux
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
207 5
|
1月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。