博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLSERVER-存储过程知识点
阅读量:5265 次
发布时间:2019-06-14

本文共 1318 字,大约阅读时间需要 4 分钟。

原文链接:http://www.qeefee.com/article/000566

存储过程是一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等。

存储过程允许带参数:

输入参数:可以在调用时向存储过程传递参数,此类参数可用来向存储过程中传入值(可以有默认值)

输出参数:从存储过程中返回(输出)值,后面跟随OUTPUT关键字
存储过程的优点:

执行速度快

允许模块化设计
提高系统安全性
减少网络流量
创建存储过程
我们可以使用create procedure命令创建存储过程。

create procedure calcAge (    @birthday datetime,    --输入参数    @age int output        --输出参数,参数后面加 output)asbegin    --begin...end 语句块不是必须的(即使是多条语句)    declare @now datetime    set @now=getdate()    set @age=YEAR(@now)-YEAR(@birthday)    --为输出参数赋值,不需要returnend

输入参数带默认值:

create procedure calcAge (    @birthday datetime = '2012-1-1',    --输入参数,带默认值,调用的时候可以不指定    @age int output        --输出参数,参数后面加 output)asbegin    --begin...end 语句块不是必须的(即使是多条语句)    declare @now datetime    set @now=getdate()    set @age=YEAR(@now)-YEAR(@birthday)    --为输出参数赋值,不需要returnend

调用存储过程

我们新定义的存储过程有输出参数,调用的时候也需要指定参数为output

declare @age intexecute calcAge '2012-1-1', @age output        --标记参数@age为outputprint @age

调用存储过程时,默认情况下指定的参数是按照定义的数序指定的,我们也可以显示的指定:

declare @myAge intexecute calcAge @age=@myAge output        --显示指定参数@ageprint @myAge

修改存储过程

使用alter procedure命令修改存储过程,例如下面的伪代码:

alter procedure calcAge (    @birthday datetime,    @age int output)asbegin    -- 这里是你的逻辑end

删除存储过程

使用drop procedure命令删除存储过程:

drop procedure calcAge

转载于:https://www.cnblogs.com/weloveshare/p/5377238.html

你可能感兴趣的文章
electron入门心得
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
整理推荐的CSS属性书写顺序
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
源代码的下载和编译读后感
查看>>
Kafka学习笔记
查看>>
Octotree Chrome安装与使用方法
查看>>
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现
查看>>
趣谈Java变量的可见性问题
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
验证组件FluentValidation的使用示例
查看>>
0320-学习进度条
查看>>
解决windows系统的oracle数据库不能启动ora-00119和ora-00130的问题
查看>>