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;