sql求写存储过程(简单的)

来源:百度知道 编辑:UC知道 时间:2024/06/24 04:19:18
我的表字段如下
ID 爱好 性别 年龄 地址 姓名

有两个参数 一个事要查的值 @Key 一个事列名 @RowName
当我的@RowName 传入的参数是“爱好”时 @Key就在爱好列进行查找 当传入的是“地址”时 就在地址列找@Key
即 查找的列也是可变的 如何写
问题解决 谢谢大家

create procedure ptest
@RowName nvarchar(50),
@key nvarchar(50)
as

declare @sqlstr nvarchar(4000)

set @sqlstr='select * from 表 where '+@RowName+'='''+@key+''''
exec (@sqlstr)

create proc proc_Demo
@Rowame varchar(20),
@Key varchar(20)
as
select * from XX where @RowName=@Key
go

2楼正解~

select * from syscolumns--
select * from sysobjects

create procedure ab
@row varchar(200),
@chr varchar(200)
as
begin
DECLARE @sqlstr varchar(2000)
set @sqlstr='select * from test where ' + @row + ' like ''%' + @chr +'%'''
exec(@sqlstr)
--print @sqlstr
end

exec ab 'code','A071143'