一个高手需要解决的问题?(100分)

  • 主题发起人 主题发起人 guoDY
  • 开始时间 开始时间
G

guoDY

Unregistered / Unconfirmed
GUEST, unregistred user!
CREATE PROCEDURE up_selectpoint
@value int OUTPUT,
@tablename varchar(20) ,
@id smallint ,
@day tinyint ,
@section tinyint ,
@pointname tinyint
as
Select @value =value_1
from @tablename /*错误*/
where id=@id and day=@day and section=@section
/*
使用MS SQL SERVER 6.5
要做存储过程,通过参数@tablename来确定查询的表。
上面的写法有错,错误在@tablename处。
问错在哪儿?怎么改?*/
 
呵呵,兄弟怎么跟我一样都想偷懒 :)
Declare @SQL varchar(500)
set @SQL = 'select * from ' + @TableName + '
Exec(@SQL)
/*但你如果想在Select语句中加入变量@Value好像不行的。
我上次一个过程要是这样能行通的话也不用写500我行了。
我也样得到这个答案。
实在不行的话用 if @TableName='xxx' ...吧! :)
/*
 
CREATE PROCEDURE up_selectpoint
@value int OUTPUT,
@tablename varchar(20) ,
@id smallint ,
@day tinyint ,
@section tinyint ,
@pointname tinyint
as
EXEC('Select @value =value_1 from '+ @tablename+
' where id='+@id+' and day='+@day+' and section='+@section)
 
多人接受答案了。
 
后退
顶部