如何在游标中建立if语句/循环

时间:2018-12-05 12:03:36

标签: sql-server tsql if-statement cursor

我有30多个使用TDE加密的数据库。要备份数据库,必须关闭加密并放下我创建的游标的加密密钥,该游标会打印出“ ALTER DATABASE SET ENCRYPTION OFF”语句。但是我想要执行,而不必单独执行每个执行。

此语句为您提供数据库的当前加密状态。

3 =加密“开启”

1 =加密“关闭”

final ContentValues event = new ContentValues();
event.put(CalendarContract.Events.CALENDAR_ID, calendarId);

event.put(CalendarContract.Events.TITLE, name);
event.put(CalendarContract.Events.DTSTART, millisstarttime);
event.put(CalendarContract.Events.DTEND, millisendtime);
event.put(CalendarContract.Events.EVENT_LOCATION, venue);
event.put(CalendarContract.Events.ALL_DAY, 0);   // 0 for false, 1 for true
event.put(CalendarContract.Events.HAS_ALARM, 1);
event.put(CalendarContract.Events.ACCESS_LEVEL, CalendarContract.Events.ACCESS_PRIVATE);
event.put(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY);// 0 for false, 1 for true

String timeZone = TimeZone.getDefault().getID();
event.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone);

this.getContentResolver().insert(baseUri, event);

光标:

SELECT e.encryption_state,d.name, e.percent_complete 
FROM sys.databases d 
INNER JOIN 
sys.dm_database_encryption_keys e ON d.database_id = e.database_id;

所以现在我需要构建一个循环,该循环检查活动的加密状态。如果为1,则放下该键,否则等到状态更改为1。有什么想法吗?

我希望一切都可以理解。

0 个答案:

没有答案