用下面的方法
--首先,创建临时表,用来保存存储过程返回的结果
create table #tb(value varchar(250),data varchar(1000))--执行存储过程,将结果保存到临时表中
insert into #tb
exec master..xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\SETUP',N'SQLDataRoot'
--从临时表中取出存储过程结果,保存到变量中
declare @value varchar(250),@data varchar(1000)
select @value=value,@data=data from #tb--删除临时表
drop table #tb--显示取得的存储过程执行结果
print @value
print @data
--首先,创建临时表,用来保存存储过程返回的结果
create table #tb(value varchar(250),data varchar(1000))--执行存储过程,将结果保存到临时表中
insert into #tb
exec master..xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\SETUP',N'SQLDataRoot'
--从临时表中取出存储过程结果,保存到变量中
declare @value varchar(250),@data varchar(1000)
select @value=value,@data=data from #tb--删除临时表
drop table #tb--显示取得的存储过程执行结果
print @value
print @data
--首先,创建临时表,用来保存存储过程返回的结果
create table #tb(value varchar(250),data varchar(1000))--执行存储过程,将结果保存到临时表中
insert into #tb
exec master..xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\SETUP',N'SQLDataRoot'
--从临时表中取出存储过程结果,保存到变量中
declare @value varchar(250),@data varchar(1000)
select @value=value,@data=data from #tb--删除临时表
drop table #tb--显示取得的存储过程执行结果
print @value
print @data
exec master..xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\SETUP',N'SQLDataRoot',@a output
Select @a
declare @path varchar(200)
select @path = filename from master.dbo.sysfiles
set @path = ltrim(REVERSE(@path))
set @path = REVERSE(substring(@path,CHARINDEX('\',@path),len(@path)))
print @path 或:declare @path varchar(200)
exec master.dbo.xp_regread
'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\MSSQLSERVER\setup',
'SQLPath',@path output
set @path = @path + '\data\'
print @path