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;

相关推荐
oradh4 分钟前
Oracle数据库实例入门概述
数据库·oracle·oracle实例·oracle实例入门·oracle基础
M--Y20 分钟前
初识Redis
数据库·redis·缓存
MLGDOU23 分钟前
【Qt开发】信号与槽
开发语言·数据库·qt
大黄说说25 分钟前
数据库事务的ACID特性:从理论到实现的深度解析
数据库·oracle
m0_7520356329 分钟前
ROW_NUMBER() OVER() 窗口函数详解
大数据·数据库
大江东去浪淘尽千古风流人物29 分钟前
【Basalt】 VIO(sqrt_keypoint_vio)主流程measure函数梳理
数据库·人工智能·python·机器学习·oracle
空空kkk31 分钟前
MySQL 主从同步
android·数据库·mysql
jnrjian37 分钟前
RAC archivelog 在共享盘下就可以在一个node进行备份
数据库·sql
瑶山40 分钟前
SpringBoot + MongoDB 5分钟快速集成:从0到1实操指南
java·数据库·spring boot·后端·mongodb
linux修理工1 小时前
Claude API 密钥更换方法
java·数据库·mysql