首页 > 解决方案 > 创建函数时出错--无效使用副作用运算符

问题描述

我有如下代码。这是将 IP 地址转换为 IP 名称。但我需要在函数中添加它并在 select 语句中调用。但我收到类似“在函数中无效使用副作用运算符'INSERT EXEC'”的错误。

我试图在存储过程中添加它,它在那里工作,但我需要输入函数,以便我可以在选择查询中调用它。有任何想法吗

declare @ip as VARCHAR(100)='10.200.11.133'
DECLARE @xpCmd VARCHAR(100)
SET @xpCmd = 'NSLOOKUP ' + @ip
declare @Test table (IPNAME NVARCHAR(100))
INSERT INTO @Test
EXEC master.dbo.xp_cmdshell @xpCmd
select LTRIM(REPLACE(IPNAME, 'Name:', '')) IPNAME
FROM @Test
where (IPNAME like 'Name: %')

标签: sqlsql-server

解决方案


推荐阅读