alter function dbo.fn_Merge
(
@filterColumnName varchar(200),
@filter uniqueidentifier,
@tableName varchar(200),
@mergeName varchar(200)
)
Returns varchar(8000)
as
begin
declare @str varchar(8000)
declare @sql varchar(8000)
set @str = ' '
set @sql = ''
set @sql = 'select ' + @str + '/ ' + @mergeName
+ ' from (select distinct ' + @mergeName + ' from ' + @tableName + ' ) bb where '
+ @filterColumnName + ' = ' + @filterColumnName ;
exec sp_executesql @sql,@str output
set @str = Stuff(@str, 1, 1, '');
return @str
end
(
@filterColumnName varchar(200),
@filter uniqueidentifier,
@tableName varchar(200),
@mergeName varchar(200)
)
Returns varchar(8000)
as
begin
declare @str varchar(8000)
declare @sql varchar(8000)
set @str = ' '
set @sql = ''
set @sql = 'select ' + @str + '/ ' + @mergeName
+ ' from (select distinct ' + @mergeName + ' from ' + @tableName + ' ) bb where '
+ @filterColumnName + ' = ' + @filterColumnName ;
exec sp_executesql @sql,@str output
set @str = Stuff(@str, 1, 1, '');
return @str
end
解决方案 »
- 太难了,怎么写这个SQL的存储过程?紧急!!!!
- .mdf怎么打开?
- 导入数据时,如何新建唯一的序列号(源表excel文件没有每行的唯一编号?)
- windows xp 下sql 2000 做分布式数据更新
- SQLSERVER锁/进程ID里面有很多类似于spid100(阻塞者81)等的问题!导致程序出错。
- txt 导入 sql server 出错 具体错误如下
- 做一个火车信息查询,站站查询 (五)
- 查询限制问题?没办法了!
- 几个弄不清楚的概念
- 怎么把notes开发的系统中的数据存储到sql-server中????
- ACCESS升级成SQL后,后台登陆不了
- 请问在行列转换时怎么把结果插入虚拟表中呢?
函数里面用EXEC是有限制的,,,
(
@filterColumnName varchar(200),
@filter uniqueidentifier,
@tableName varchar(200),
@mergeName varchar(200),
@str varchar(8000) output
)
as
begin
declare @sql varchar(8000)
set @str = ' '
set @sql = ' '
set @sql = 'select ' + @str + '/ ' + @mergeName
+ ' from (select distinct ' + @mergeName + ' from ' + @tableName + ' ) bb where '
+ @filterColumnName + ' = ' + @filterColumnName
exec sp_executesql @sql,@str output
set @str = Stuff(@str, 1, 1, ' ')
end
go--for example
declare @tableName varchar(200),
@mergeName varchar(200),
@str varchar(8000)
select @tableName='tablename',@mergeName='mergeName' exec dbo.sp_Merge @tableName,@mergeName,@str outputselect @str