Create procedure SelectMax(@article_name varchar(50))
AS
declare @ID int
begin
exec('select * into ##TempTable from ' + @article_name)
select @ID = max(id) from ##TempTable
select @ID
end;三少 :o)
AS
declare @ID int
begin
exec('select * into ##TempTable from ' + @article_name)
select @ID = max(id) from ##TempTable
select @ID
end;三少 :o)
怎么不可以?????三少 :o)
你的方法我见过,好象不行。总提示##TempTable没定义。这是怎么回事?
AS
declare @ID int
begin
exec('select * into ##TempTable from ' + @article_name)
select @ID = max(id) from ##TempTable
Drop Table ##TempTable
select @ID
end;
Create procedure SelectMax(@article_name varchar(50))
as
declare @ID int,
@SqlStr varchar(100)
begin
select @SqlStr = 'select * into ##TempTable from ' + @article_name
exec(@SqlStr) --将这个表名为变量名的表存储到一个全局临时表中,这样在EXEC外部定义的变量可以使用.
select @ID = max(id) from ##TempTable
if exists(select * from TempDB..sysobjects where name = '##TempTable')
Drop table ##TempTable --如果临时表存在,就删掉它,谢谢jingpingyi的提醒.
select @ID
end再试一下.三少 :o)
成功了!多谢。其实我看到很多人都问过这个问题,都是你回答的。看来你对SQL Server很熟悉啊!