目录

批处理语句

1、批处理语句简介

示例一:

示例二:

存储过程

一、什么是存储过程

1、存储过程的简介

2、存储过程包含的内容

3、存储过程的优点

4、存储过程的分类

系统存储过程:

用户定义存储过程

5、常用的系统储存过程

(1)一般常用的存储过程

(2)xp_cmdshell

二、创建存储过程

1、定义存储过程的语法

2、不带参数的存储过程

3、带参数额存储过程


友情链接视频:SQLServer教程

批处理语句

1、批处理语句简介

  • 批处理是包含一个或多个SQL语句的组,从应用程序一次性地发送到SQL Server执行;
  • SQL Server将批处理语句编译成一个壳执行单元,此单元称为执行计划。执行计划中的语句每次执行一条。

示例一:

select * from stulnfo
select * from stuMarks
UPDATE stuMarksSET writtenExam=writtenExam+2
GO
  • GO是批处理的标志,表示SQL Server将这些T-SQL语句编译为一个执行单元,提高执行效率;
  • 一般是将一些逻辑相关的业务操作语句,防止在同一批中,这完全由业务需求和代码编译这决定。

示例二:

SQL Server规定:如果是建库、建表语句、以及我们后面学习的存储过程和视图等,则必须在语句末尾添加 GO 批处理标志。

--例如建表语句的末尾必须添加GO
CREATE TABLE stulnfo
(
......
)
GO

【关于批处理的解说明】

  1. GO提交完成后,是将这个批处理语句当做一个批处理单元处理的,GO是界定一个处理范围的,所以操作批处理单元中的变量只能够在该批处理单元中起作用,超出这个批处理单元就不起作用了的;

存储过程

一、什么是存储过程

1、存储过程的简介

  • 存储过程(stored procedure)类似于C语言中的函数;
  • 用来执行管理任务或应用复杂的业务规则(通过T_SQL语言编写);
  • 存储过程可以带参数,也可以返回结果。

2、存储过程包含的内容

存储过程可以包含数据操纵语句、变量、逻辑控制语句等。

3、存储过程的优点

  • 执行速度更快(预编译,数据库服务器内部执行);
  • 允许模块化程序设计;
  • 提高系统安全性;
  • 减少网络流通量;
  • 可维持性。

4、存储过程的分类

系统存储过程:

  • 由系统定义,存放在master数据库中;
  • 类似C语言中的系统函数;
  • 系统存储过程的名称都以“sp_”(system stored procedure)开头或“xp_”(extend stored procedure)开头;

用户定义存储过程

  • 由用户在自己的数据库中创建的存储过程;
  • 类似C语言中的用户自定义函数;

5、常用的系统储存过程

(1)一般常用的存储过程

【示例】

(2)xp_cmdshell

  • 可以执行DOS命令下的一些操作;
  • 以文本行的凡是返回任何输出;
  • 调用语法:EXEC xp_cmdshell DOS命令 [NO_OUTPUT]  ====》其中,[NO_OUTPUT]为不输出

【示例说明】:创建数据库bankDB,要求保存在D:\back

USE master
GO
EXEC xp_cmdshell 'mkdir d:\bank',NO_OUTPUT
IF EXISTS(SELECT * FROM sysdatabases WHERE name='bankDB')DROP DATABASE bankDB
GO
CREATE DATABASE bankDB
(
...
)
GO
EXEC xp_cmdshell 'dir D:\bank\'  --查看文件

执行过程如下:

由于系统管理员没有开启扩展系统存储过程导致的,这是windows为了安全考虑的。具体设置如下图所示:

二、创建存储过程

1、定义存储过程的语法

create proc [edure] 存储过程名@参数1 数据类型=默认值 OUTPUT,...... ,@参数n 数据类型=默认值 OUTPUTASSQL语句
GO
--和C语言的函数一样,参数可选;
--参数分为输入参数、输出参数;
--输入参数允许有默认值

2、不带参数的存储过程

(1)创建不带参数的存储过程

CREATE PROCEDURE usp_ProcShowScoreASdeclare @total int
declare @avg int
select @total=sum(score),@avg=avg(score)
from view考试成绩if @avg>70print 'good' + convert(nvarchar(20),@avg)
elseprint 'no good'SELECT  *
FROM    View考试成绩
WHERE    (Score < 60)

(2)调用存储过程

  • EXECUTE(执行)语句用来调用存储过程
  • 调用的语法:EXEC 过程名 [参数]

3、带参数额存储过程

(1)创建带参数的存储过程

存储过程的参数分两种:输入参数输出参数

  • 输入参数:用于向存储过程传入值,类似C语言的按值传递。
  • 输出参数:用于在调用存储过程后,返回结果,类似C语言的按引用传递。

【示例】

调用带参数的存储过程:

sql server学习笔记——批处理语句、存储过程相关推荐

  1. SQL Server学习笔记

    <SQL Server从入门到精通>学习笔记 1 数据管理技术的三个阶段:人工管理.文件系统.数据库系统. 2 数据库的组成:数据库.数据库管理系统.数据库管理员.硬件平台.软件平台5部分 ...

  2. SQL Server 学习笔记——T-SQL

    SQL学习笔记 一.SQL概述 SQL按其功能可以分为三大部分: 数据定义功能.数据操纵功能和数据控制功能 DDL.DML.DCL SQL功能 命令动词 数据定义 CREATE.ALTER.DROP ...

  3. 【SQL Server学习笔记】变更数据捕获(Change Data Capture)

    SQL Server的变更数据捕获(Change Data Capture,CDC),就是异步捕获表数据的修改,只有很少的性能开销,可以持续的更新其他数据源,比如,将联机事务处理数据库中的持续数据变化 ...

  4. 【SQL Server学习笔记】SQL SERVER 视图

    视图包括:普通视图,索引视图,分布式分区视图. 关于视图的最佳实践: A.对视图进行性能优化的过程和普通的select查询语句的优化过程是一样的. B.不要在一个视图的定义中调用另一个视图. C.如果 ...

  5. 数据库原理与应用(SQL Server)笔记 第九章 存储过程和触发器

    目录 前言 一.存储过程 (一)存储过程的定义 (二)存储过程的特点 (三)存储过程的分类 1.用户存储过程 2.系统存储过程 3.扩展存储过程 (四)存储过程的创建 (五)存储过程的执行 (六)带参 ...

  6. 适合小白的SQL Server学习笔记

    升序ASC  降序DESC 统计某个字段count(字段),一般都需要根据该字段分组group by(字段) having的作用相当于where,但是where关键字不能与合计函数一起使用(例:sum ...

  7. SQL Server 学习笔记

    SQL Server 创建数据库 切换数据库 在表中插入数据 在表中查询数据 无条件查询 取消结果集中的重复行 在表中修改数据 在表中删除数据 表结构的修改 添加列 修改列 环境 SQL Server ...

  8. SQL SERVER学习笔记(入门篇)

    登入前注意事项: 启动SQL SERVER服务,方法如下: 1.后台启动,(计算机管理-服务-SQL SERVER (MSSQLSERVER)) 2.CMD窗口使用命令行启动(启动:net start ...

  9. SQL SERVER学习笔记(二)数据库管理

    第二部分:数据库管理 单词记忆:transact:处理 create:创建 execute:执行.完成 一.     SQL Server的特性 1. 安装简便:为了便于安装.使用和管理,SQL Se ...

最新文章

  1. python3--装饰器
  2. java 检查目录是否存在_如何检查Java目录是否存在?
  3. 图解算法学习笔记(一): 算法简介
  4. 【操作系统】请求调页
  5. MFC访问阿里云Oss平台
  6. eclipse3.1.1汉化版安装
  7. 虚拟机网络驱动(共享文件夹)不见了的解决方案-适用于win7~win10 and Windows Server 2008~Windows Server 2012R2
  8. 学习日志-virtual,override,new,overload
  9. knot DNS 01 Tips
  10. 星岚技术 Win10 x64 装机版 V2021.5【带驱动包】
  11. 中了勒索病毒之后怎么办-亲身经历(2021.8)
  12. TTL转RS232电路设计
  13. 打印机只能扫描图片,不能扫描成PDF解决办法
  14. 16进制格式的字符串怎样转换为整数
  15. 结构设计模式:复合模式
  16. 湮没在赞誉之中,科学史上鲜为人知的五大“败笔”
  17. SQLServer 表分区 根据时间自动扩展分区
  18. ROHM 的 SiC 技术助力赛米控的 EMPack
  19. 7旬夫妻为3岁女儿庆生
  20. excel日期时间处理方法

热门文章

  1. 宝塔面板Java项目一键部署项目404问题
  2. 软件集成测试策略有哪些,面向对象的集成测试与传统的软件集成测试有什么不同?分别有哪些策略?...
  3. 最新谷歌账号申请教程
  4. php输出10!的值,大侠求助!Thinkphp 如何输出指定值数据
  5. 莫言用 GPT 写颁奖辞,那如果他自己写会是什么效果呢?
  6. 关于校招面试要怎么准备,这里有一些过来人的建议
  7. java contenttype_如何在Flurl中更改Content-Type?
  8. eclipse敲代码常用的快捷键
  9. 通过js来获取前天、昨天、今天、明天、后天、大后天的日期
  10. python怎样操作excel表_python操作excel表