带参数的存储过程
我用的是SQLserver2000的数据库
一个NewSystem数据库,包含一个Classes表,表中有一个ClassName列。
我想通过存储过程来查询,创建一个存储过程queryClass
存储过程定义如下:
use NewSystem
go
create procedure queryClass
@condition varchar(20),
@columnName varchar(20)
as
select ClassName
from Classes
where @columnName = @condition
go
然后我在SQL查询分析器中输入
exec queryClass 'SoftTwo ', 'ClassName '
或者 exec queryClass 'SoftTwo ',ClassName
或者 exec queryClass SoftTwo, 'ClassName '
或者 exec queryClass SoftTw ',ClassName
怎么就查不出结果啊~~
希望有高手帮我解决一下
注:不能该变这个存储过程的参数个数,
以上的存储过程只是我简化的,
其中我主要是想解决的是
where ClassName = 'SoftTwo ' ;
这2个参数一个有单引号一个没有单引号
[解决办法]
create procedure queryClass
@condition varchar(20),
@columnName varchar(20)
as
declare @sql varchar(500)
set @sql= 'select ClassName
from Classes
where '+@columnName+ ' = '+@condition
go
[解决办法]
gaojier1000(V2※高捷) ( ) 信誉:100 2007-08-15 10:23:12 得分: 0
试试!
-----------
你光拼結都沒有執行的。
create procedure queryClass
@condition varchar(20),
@columnName varchar(20)
as
declare @sql varchar(500)
set @sql= 'select ClassName
from Classes
where '+@columnName+ ' = ' ' '+@condition+ ' ' ' '
exec(@sql)
go