【发布时间】:2012-07-26 12:31:04
【问题描述】:
这个过程有三个参数。但是当我尝试通过传递参数来执行时,它会显示一个错误。请帮帮我。
create procedure queryfunctions @Tabname varchar(150),@colname varchar(150),@valuesname varchar(150)
as
begin
declare @sql varchar(4000)
select @sql='select * from @Tabname where @colname=@valuesname'
exec(@sql)
end
exec queryfunctions 'education','eduChildName','Revathi'
错误:
消息 1087,第 15 级,状态 2,第 1 行 必须声明表变量“@Tabname”。
【问题讨论】:
-
您能否确认您正在查找
education表中eduChildName列包含字符串值'Revathi'的行,而不是eduChildName列包含与Revathi列相同的值? -
我删除了我的答案,因为它出于某种原因拉了太多反对票。对不起,baji,你得到的其他答案是你自己的,即使它们没有那么有帮助。
标签: sql-server sql-server-2005 stored-procedures