SQL Server数据库学习之 -- 存储过程-游标-表值类型综合运用
来源:互联网 发布:设a是2n 1阶矩阵 编辑:程序博客网 时间:2024/06/13 08:14
我在工作中,根据项目中的需求,需要编写存储过程,进行对数据批量处理。根据在项目中运用的知识点,我简写一个存储过程的内容,以另一个场景将所运用到的知识写下来:
USE [B2C2] -- 使用B2C2数据库 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= /* 创建表值类型 clazz_Table */ CREATE TYPE clazz_Table AS TABLE ( TEACHER varchar(128), -- 班主任 CLANO varchar(64), -- 班级编号 SEX char(8), -- 性别 NAME varchar(128), -- 姓名 AGE int, -- 年龄 STUNO int -- 学号 ) GO CREATE PROCEDURE [dbo].[proc_test01] ( -- 设置全局变量 @re_table clazz_Table READONLY, @D_COUNT INT OUTPUT -- 输出参数 ) AS BEGIN -- 设置局部变量 DECLARE @D_TEACHER varchar(128); -- 班主任 DECLARE @D_CLANO varchar(64); -- 班级编号 DECLARE @D_SEX char(8); -- 性别 DECLARE @D_NAME varchar(128); -- 姓名 DECLARE @D_AGE int; -- 年龄 DECLARE @D_STUNO int; -- 学号 SET @D_COUNT = 0; -- 初始设置值为0 -- 声明一个游标 DECLARE myCursor CURSOR FOR SELECT TEACHER, CLANO, SEX, NAME, AGE, STUNO FROM @re_table; -- 打开游标 OPEN myCursor; -- 从游标中读取数据赋值到声明的6个变量中 FETCH NEXT FROM myCursor INTO @D_TEACHER, @D_CLANO, @D_SEX, @D_NAME, @D_AGE, @D_STUNO; -- 判断游标的状态 -- 0 fetch语句成功 -- 1 fecthc语句失败或此行不在结果中 -- 2 被提取的行不存在 WHILE(@@FETCH_STATUS = 0) -- @@FETCH_STATUS为SQL Server数据库中内置的变量,可直接拿来使用。 BEGIN -- 使用游标分条读取从Java代码端传递过来的clazz_Table数据 INSERT INTO t_clazz(teacher, clano, sex, name, age, stuno) VALUES(@D_TEACHER, @D_CLANO, @D_SEX, @D_NAME, @D_AGE, @D_STUNO); -- 用游标去取下一条记录 FETCH NEXT FROM myCursor INTO @D_TEACHER, @D_CLANO, @D_SEX, @D_NAME, @D_AGE, @D_STUNO; END -- 设置@D_COUNT的值 SET @D_COUNT = 1; -- 关闭游标 CLOSE myCursor; -- 撤销游标 DEALLOCATE myCursor; END GO
阅读全文
1 0
- SQL Server数据库学习之 -- 存储过程-游标-表值类型综合运用
- mysql 存储过程(临时表、循环、游标综合运用)
- SQL Server数据库学习之 -- 存储过程
- SQL Server 存储过程之嵌套游标
- SQL Server 存储过程之嵌套游标
- SQL Server 存储过程之嵌套游标
- sql数据库学习系列六之SQL Server 存储过程
- SQL-SERVER数据库中的游标、存储过程和触发器
- [学习]SQL SERVER数据库开发之存储过程应用
- SQL Server数据库学习之 —— 存储过程- 事务
- SQL Server 游标运用:批量备份数据库
- SQL Server学习:存储过程中Cursor(游标)的使用
- sql server数据库之存储过程
- sql server学习笔录1(sql存储过程,表变量的运用)
- SQL Server 存储过程、触发器、游标
- SQL Server带游标的存储过程
- SQL Server 存储过程、触发器、游标
- SQL Server学习记录之存储过程
- 解决Fail to post notification on channel "null"的方法
- 前端面试题(2017-11-30)
- C/C++资料网址
- json数据
- HttpClient get请求调取接口 例子
- SQL Server数据库学习之 -- 存储过程-游标-表值类型综合运用
- 无滚动条切屏
- 检查型异常和运行时异常
- gulp task方法
- Maven内置属性及使用
- com.intellij.ide.plugins.PluginManager$StartupAbortedException:com.intellij.util.net.ssl.Certificat
- GitLab使用详解
- 爬虫实战:页面解析详细指南(正则表达式、XPath、jsoup、Gson)
- 区块链开发(一)搭建基于以太坊go-ethereum的私有链环境