我有一个Windows shell命令,我想为表中的每一行运行一次(通过EXEC master..xp_cmdshell).我正在使用各个领域的信息来构建命令输出.
我是编写T-SQL程序的新相对论(而不是单个查询),并且不能完全理解这个语法,或者甚至可能/推荐它.
我尝试创建一个列表变量,然后使用我想要运行的命令填充每一行.我对如何迭代这个表变量并实际运行命令感到窒息.谷歌搜索已被证明无益.
在此先感谢您的帮助!
你总是可以使用游标:
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