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;

相关推荐
AI科技星4 分钟前
垂直原理:宇宙的沉默法则与万物运动的终极源头
android·服务器·数据结构·数据库·人工智能
Warren986 分钟前
复习MySQL
数据库·windows·tcp/ip·mysql·ubuntu·ssh·ansible
黑金IT7 分钟前
3D虚拟人模型转换的完整指南
服务器·数据库·3d
凌~风11 分钟前
数据库原理实验报告:在ider里搭建mysql数据库
数据库·mysql·实验报告
keke_俩个科11 分钟前
ShardingSphere分库分表基础配置与使用说明
java·数据库·分布式·spring
2401_8414956414 分钟前
【数据库开发】个人信息管理的数据库创建以及查询方法(最简单)
数据库·sql·mysql·sqlite·数据库开发·个人数据库·管理个人信息
RestCloud1 小时前
GaussDB 数据集成方案:ETL 工具如何简化企业上云过程
数据库
21号 12 小时前
4.客户端(Redis)
开发语言·数据库·github
云和数据.ChenGuang2 小时前
MongoDB 提供的 `GridFSTemplate` 操作 GridFS 大文件系统的常用查询方式
数据库·mongodb