sql - 创建函数时出错--无效使用副作用运算符
问题描述
我有如下代码。这是将 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: %')
解决方案
推荐阅读
- c++ - #import "msado15.dll" C++ 在现有项目中
- excel - 命名范围数组不起作用或不可能?
- c# - 匿名方法应按条件返回字符串
- go - 仅知道接口时克隆结构
- java - JBOSS 服务器抛出异常 - 无法转换为 org.apache.xml.dtm.DTMManager
- uwp - UserControl 中的绑定问题
- c++ - 最后的每一个组合都是双重基本 C++
- mysql - 为什么 innodb 缓冲池内存在命令“优化表”后会增长?
- node.js - 我无法运行我的节点服务器 Babel 编译错误
- php - 如何在正则表达式中修复此错误“未定义的偏移量:”?