我想写一个存储过程,用来执行查询语句(@a传递表名,@b传递查询的内容),这个存储过程可以用,执行完毕后查询的结果不显示,只显示这样一个结果,
存储过程: price.dbo.finder
返回代码 = 0
请高手指点一下怎么把查询的结果显示出来,语句如下:
create PROC finder
@a varchar(200)='',
@b varchar(200)=''
AS
begin
declare @c varchar(4000)
set @c='select '+'* '+'from '+'price.dbo.'+@a+' where '+'工作内容 '+'like''%'+@c+'%'''
exec (@c)
end
存储过程: price.dbo.finder
返回代码 = 0
请高手指点一下怎么把查询的结果显示出来,语句如下:
create PROC finder
@a varchar(200)='',
@b varchar(200)=''
AS
begin
declare @c varchar(4000)
set @c='select '+'* '+'from '+'price.dbo.'+@a+' where '+'工作内容 '+'like''%'+@c+'%'''
exec (@c)
end
create PROC finder
@a varchar(200)='',
@b varchar(200)=''
AS
begin
declare @c varchar(4000)
set @c='select '+'* '+'from '+'price.dbo.'+@a+' where '+'工作内容 '+'like''%'+@b+'%'''
exec (@c)
endtry
@a varchar(200)='',
@b varchar(200)=''
AS
begin
declare @c varchar(4000)
set @c='select * from price.dbo.['+@a+'] where 工作内容 like''%'+@b+'%'''
exec (@c)
end
go
--调用
exec price.dbo.finder '表名','值'
@a varchar(200)='',
@b varchar(200)=''
AS
begin
declare @c varchar(4000)
set @c='select '+'* '+'from '+'price.dbo.'+@a+' where '+'工作内容 '+'like ''%'+@b+'%'''
print @c
--exec (@c)
end--执行
exec finder 'table','条件'--结果
select * from price.dbo.table where 工作内容 like '%条件%'--把print注释掉,然后把exec取消注释就可以了
@a VARCHAR(200) = '',
@b VARCHAR(200) = ''
AS
BEGIN
DECLARE @c VARCHAR(4000)
SET @c = 'SELECT * FROM price.dbo.'+QUOTENAME(@a)+' WHERE 工作内容 LIKE ''%'+@b+'%'''
EXEC(@c)
END