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;

相关推荐
字节高级特工11 分钟前
MySQL数据库基础与实战指南
数据库·c++·人工智能·后端·mysql·adb
普修罗双战士19 分钟前
项目设计-文章系统发布文章完整前后端设计
java·数据库·vue.js·spring boot·git·intellij-idea
lifewange20 分钟前
数据库2表设计
数据库
怀后同学.30 分钟前
SQL注入之堆叠注入和绕过WAF
数据库·sql
重生之小比特30 分钟前
【MySQL 数据库】数据类型
数据库·mysql
轻刀快马33 分钟前
穿透 MySQL 索引专栏 (二):【核心机制】为什么 SELECT * 是性能杀手?扒开“回表”与“联合索引”的底裤
数据库·mysql
yexuhgu34 分钟前
JavaScript中函数防抖Debounce的原理与闭包实现方案
jvm·数据库·python
阿kun要赚马内37 分钟前
Python中的ORM——SQLAlchemy
数据库·oracle
m0_6138562937 分钟前
C#怎么判断进程是否在运行_C#如何管理系统进程【必备】
jvm·数据库·python
NaMM CHIN41 分钟前
MySQL无法连接到本地localhost的解决办法2024.11.8
数据库·mysql·adb