rt
解决方案 »
- sql语句 在线急等 (50分)
- 在存储过程中如何处理另外一个存储过程返回的结果集???
- 谁能说说查询分析器中显示预计的执行计划的具体作用及用法
- 问一个数据库设计问题
- .xls 导入 sql2000 问题
- 难点:一个查询问题!(在线等待)
- 如何实现select一个数字型字段时当该值为0时,用一个横线代替该值?
- SQL语句中有没有像C语言中try的功能
- sql 如何实现这样的功能?
- 在带GROUP BY 的SQL语句中,例如: SELECT 员工姓名,部门, SUM(AMOUNT) FROM EMPLOYEE GROUP BY EMPLOYEEID 中,员工姓名和部门前应加什
- 如何跨server写查询语句?
- 一个查询效率问题,比较棘手。(在线等)
功能:根据传入的参数计算机名,获取对应的IP地址
日期:2006-08-07
*/CREATE PROCEDURE dbo.P根据计算机名获取IP
(
@ComputerName varchar(100)
)
AS
set xact_abort on begin create table #ip(id int identity(1,1),re varchar(2000)) declare @s varchar(1000)
set @s = 'ping ' + @ComputerName + ' -a -n 1 -l 1' --注意,这里的相关参数必须是小写!!!
insert #ip(re) exec master..xp_cmdshell @s select 机器名 = host_name(),IP地址 = stuff(left(re,charindex(']',re)-1),1,charindex('[',re),'')
from #ip
where id = 2 drop table #ip end
GO
返回工作站名称。语法
HOST_NAME ( )返回类型
nchar注释
当该参数对系统函数可选时,则系统采用当前数据库、主机、服务器用户或数据库用户。内置函数后面必须跟圆括号。系统函数可以在选择列表、WHERE 子句和任何允许使用表达式的地方使用。示例
下面的示例创建一个表,该表在 DEFAULT 定义中使用 HOST_NAME() 来记录那些向记录订单的表中插入行的计算机工作站名称。CREATE TABLE Orders
(OrderID INT PRIMARY KEY,
CustomerID NCHAR(5) REFERENCES Customers(CustomerID),
Workstation NCHAR(30) NOT NULL DEFAULT HOST_NAME(),
OrderDate DATETIME NOT NULL,
ShipDate DATETIME NULL,
ShipperID INT NULL REFERENCES Shippers(ShipperID))
执行xp_cmdshell只会在服务器端执行的其他高级一点的语言实现这个功能都很难啊,SQL就别想了