sql servser游标和递归工作中案例

2024-02-13 20:18

本文主要是介绍sql servser游标和递归工作中案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

---游标

declare @dname nvarchar(255)
declare cur cursor for  
select left(单位,charindex('|',单位)-1) from(
select distinct(单位) 单位 from view_sys_data_院内科室) temp
open cur
fetch next from cur into @dname
while(@@fetch_status=0)
begin
 insert into Sys_Department_temp(D_Name,d_pid,iscompany)values(@dname,0,1)
 declare @did int
 select @did=IDENT_CURRENT('Sys_Department_temp')--d_pid
 print @dname
 insert into  Sys_Department_temp(D_Name,d_pid,iscompany,tp_id) select 院内科室,@did,0,tp_id from view_sys_data_院内科室 where 单位 like @dname+'%'    
fetch next from cur into @dname
end
close cur
deallocate cur

---递归

 
update Sys_Staff set ext016=(select left(单位,charindex('|',单位)-1) from dbo.view_sys_data_人员管理  where  id=ext010),
ext015=(select 院内科室 from dbo.view_sys_data_人员管理  where  id=ext010)
 
 /*
 select id,s_realname, ext015,ext016,ext010 from sys_staff where id=34339--32669
  select * from Sys_Staff where id=34339
 
 select * from  dbo.view_sys_data_人员管理 where id=32669--第九人民医院|4eccc3be-2537-4757-98a3-805b1379d282辅助生殖科
 select * from Sys_Staff where ext010=32669
 */


with temp as(


select ta.id as pid,ta.d_name as pd_name,tb.id as id,tb.d_name  as d_name from sys_department_temp ta left join sys_department_temp tb on ta.id=tb.d_pid
)
 update sys_staff_temp set s_department1=(select pid from temp where (d_name=ext015 and pd_name=ext016))

 

 

这篇关于sql servser游标和递归工作中案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706510

相关文章

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1