首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过sql server中的游标从表中删除多条记录

通过sql server中的游标从表中删除多条记录
EN

Stack Overflow用户
提问于 2021-10-01 13:56:29
回答 1查看 315关注 0票数 0

我想通过系统定义的sp删除测试IP的数量

从sql server中的sp_delete_firewall_rule表执行sys.firewall_rules

我正在使用下面的光标,但它不起作用。

代码语言:javascript
运行
复制
declare @name nvarchar(max)

declare cur CURSOR LOCAL for

select @name from sys.firewall_rules where [name] like '%TestIP%'

open cur

fetch next from cur into @name

while @@FETCH_STATUS = 0 BEGIN

    exec sp_delete_firewall_rule  @name

    fetch next from cur into @name

END

close cur

deallocate cur
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-12 10:02:43

它对我有效,您只需更改代码中的一些内容即可。

选择列表中的

  1. 包含表ColumnName名称,而不是变量。您没有将任何值传递给变量,因此在执行result.
  2. Include时提供了一个空的exec sp_delete_firewall_rule @name = @name1;

SP参数。

我的防火墙规则里有这些IP:

使用下面的代码,我将删除IP,它的名称类似于TestIP1

代码语言:javascript
运行
复制
DECLARE @name1 nvarchar(128);
DECLARE MyCursor CURSOR FOR
  SELECT [name] from sys.firewall_rules where [name] like '%TestIP1%';
OPEN MyCursor;
FETCH FROM MyCursor into @name1
  WHILE @@FETCH_STATUS = 0 BEGIN
    EXEC sp_delete_firewall_rule @name = @name1 ;
FETCH next from MyCursor into @name1
END
CLOSE MyCursor;
DEALLOCATE MyCursor;
GO

现在的结果显示只有一个IP没有包含在上面的删除列表中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69407107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档