当前位置:  开发笔记 > 编程语言 > 正文

可以在一组数据上使用EXEC master..xp_cmdshell吗?

如何解决《可以在一组数据上使用EXECmaster..xp_cmdshell吗?》经验,为你挑选了1个好方法。

我有一个Windows shell命令,我想为表中的每一行运行一次(通过EXEC master..xp_cmdshell).我正在使用各个领域的信息来构建命令输出.

我是编写T-SQL程序的新相对论(而不是单个查询),并且不能完全理解这个语法,或者甚至可能/推荐它.

我尝试创建一个列表变量,然后使用我想要运行的命令填充每一行.我对如何迭代这个表变量并实际运行命令感到窒息.谷歌搜索已被证明无益.

在此先感谢您的帮助!



1> jrcs3..:

你总是可以使用游标:

USE Northwind

DECLARE @name VARCHAR(32)
DECLARE @command VARCHAR(100)

DECLARE shell_cursor CURSOR FOR 
SELECT LastName FROM Employees

OPEN shell_cursor

FETCH NEXT FROM shell_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
    SET @command = 'echo ' + @name
    EXEC master.dbo.xp_cmdshell @command
    FETCH NEXT FROM shell_cursor INTO @name
END

CLOSE shell_cursor
DEALLOCATE shell_cursor

GO

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有