日期:2014-05-18  浏览次数:20426 次

各位大哥看看这个存储过程有什么问题
请问一个各位大哥,看看我的这个存储过程有什么错误
create proc TableTerm
@TableName char(25),
@TableField char(20),
@TableTerm char(20),
@TableTerms char(20)
as
begin
declare @Tab char(100)
set @Tab=('select '+@TableField+'from '+@TableName+' where '+@TableTerm+' = '+@TableTerms)
exec(@exec)
end
Go

------解决方案--------------------
SQL code
declare @Tab char(100)
set @Tab=('select '+@TableField+' from '+@TableName+' where '+@TableTerm+' = '+@TableTerms)
exec(@Tab)

------解决方案--------------------
1、from前面加空格
2、exec(@exec)改为exec(@Tab)

------解决方案--------------------
@exec没有声明
------解决方案--------------------
如果条件里元素@TableTerms是字符串就会有麻烦,这语句就是错的,因为没加引号