SQL server 里对多行数据进行循环处理

DECLARE @FinaceDBName NVARCHAR(255);

DECLARE @ord INT;

DECLARE @year INT;

DECLARE db_cursor CURSOR FOR

SELECT FinaceDBName, ord, year

FROM dbo.app_AccountSys_conf

WHERE dt = @DateThreshold AND year >= (DATEPART(YEAR, @DateThreshold) - 3) order by ord;

OPEN db_cursor

FETCH NEXT FROM db_cursor INTO @FinaceDBName, @ord, @year;

WHILE @@FETCH_STATUS = 0

BEGIN

-- 在这里写下基于每行数据执行的SQL语句

IF (@FinaceDBName IS NOT NULL)

BEGIN

PRINT N'获取到的财务数据库名为: ' + @FinaceDBName

IF EXISTS (SELECT 1 FROM sys.databases WHERE name = @FinaceDBName)

BEGIN

PRINT @FinaceDBName + ' 数据库存在';

-- 这里可以执行你想要在数据库存在时的操作

END

ELSE

BEGIN

PRINT @FinaceDBName + ' 数据库不存在';

-- 这里可以执行数据库不存在时的操作

END

END

FETCH NEXT FROM db_cursor INTO @FinaceDBName, @ord, @year;

END

CLOSE db_cursor;

DEALLOCATE db_cursor;

相关推荐
编程修仙14 小时前
第十一篇 Spring事务
xml·java·数据库·spring
绝顶少年14 小时前
Redis 高可用架构三部曲:主从复制、哨兵模式与集群模式深度解析
数据库·redis·架构
倔强的石头10615 小时前
从 Oracle 到 KingbaseES:破解迁移痛点,解锁信创时代数据库新可能
数据库·oracle·金仓数据库
2301_8002561115 小时前
8.3 查询优化 核心知识点总结
大数据·数据库·人工智能·sql·postgresql
三七吃山漆15 小时前
攻防世界——supersqli
数据库·网络安全·web·ctf
零日失眠者15 小时前
【Oracle入门到删库跑路-08】核心技能:用户和权限管理
数据库·oracle
我科绝伦(Huanhuan Zhou)15 小时前
Oracle控制文件、SCN与检查点机制深度解析及数据库初始化原理
运维·数据库·oracle
尋有緣15 小时前
力扣1327-列出指定时间段内所有的下单产品
leetcode·oracle·数据库开发
cui_win16 小时前
MySQL max_connections连接数配置没生效,最终靠改这个参数解决
数据库·mysql
爱吃面条的猿16 小时前
DBeaver 全能数据库管理工具的使用配置
数据库·dbeaver