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;

相关推荐
风兮雨露2 分钟前
Windows 部署Redis免安装版以及客户端
数据库·windows·redis
与数据交流的路上3 分钟前
mysql-通过binlog分析大事务
数据库·mysql
2301_777599376 分钟前
如何优化宝塔面板的服务器内存使用_调整MySQL内存占用
jvm·数据库·python
gushinghsjj6 分钟前
数据管理工具怎么选?数据管理工具应具备什么?
数据库
瀚高PG实验室14 分钟前
PostgreSQL 优化器统计信息可能会在视图、分区或子表中暴露采样数据HGVE-2025-E006
数据库·postgresql·瀚高数据库
NoSi EFUL17 分钟前
学生成绩管理系统(MySQL)
android·数据库·mysql
Yeats_Liao17 分钟前
Trae 配置 MySQL MCP 指南
数据库·mysql
java干货17 分钟前
Redis 分布式限流的四大算法与终极形态
数据库·redis·分布式
Polar__Star18 分钟前
SQL如何高效导出大规模的分组汇总数据_利用分页与索引
jvm·数据库·python
2201_7610405918 分钟前
HTML怎么显示复杂图表摘要_HTML数据结论文字描述区【详解】
jvm·数据库·python