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;

相关推荐
book123_0_991 分钟前
如何查看PostgreSQL的版本
数据库·postgresql
七七powerful4 分钟前
GreatSQL 深度解析:金融级开源数据库全攻略
数据库·金融·开源
麦聪聊数据4 分钟前
金融外包场景下的数据库权限管控:基于 B/S 架构的访问隔离与审计实践
数据库·sql·低代码·金融·restful
不想看见4046 分钟前
Qt 事件循环与事件过滤器讲解【详细】
开发语言·数据库·qt
代码探秘者16 分钟前
【算法篇】4.前缀和
java·数据库·后端·python·算法·spring
IT观测21 分钟前
深度分析俩款主流移动统计工具Appvue和openinstall
android·java·数据库
2301_7765087225 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
2501_9454248029 分钟前
实战:用Python开发一个简单的区块链
jvm·数据库·python
slyybw30 分钟前
MySQL SQL语句
sql·mysql·oracle
jgbazsh32 分钟前
【MySQL】mysqldump使用方法
数据库·mysql·oracle