给你写个完整的,没有调试,你自己调试一下。create proc aa @a int output, @b int output as declare @s1 nchar(200),@s2 nchar(200) set @s1=N'select @p1=3sum(money) from '+ @table set @s2=N'select @p1=sum(money) from '+ @table +' where id=2' sp_executesql @s1, N'@p1 int output', @a output sp_executesql @s2, N'@p1 int output', @b outputreturn
更正1:create proc aa @table char(20), @a int output, @b int output as declare @s1 nchar(200),@s2 nchar(200) set @s1=N'select @p1=3sum(money) from '+ @table set @s2=N'select @p1=sum(money) from '+ @table +' where id=2' exec sp_executesql @s1, N'@p1 int output', @a output exec sp_executesql @s2, N'@p1 int output', @b outputreturn
@a int output,
@b int output
as
declare @s1 nchar(200),@s2 nchar(200)
set @s1=N'select @p1=3sum(money) from '+ @table
set @s2=N'select @p1=sum(money) from '+ @table +' where id=2'
sp_executesql @s1, N'@p1 int output', @a output
sp_executesql @s2, N'@p1 int output', @b outputreturn
@table char(20),
@a int output,
@b int output
as
declare @s1 nchar(200),@s2 nchar(200)
set @s1=N'select @p1=3sum(money) from '+ @table
set @s2=N'select @p1=sum(money) from '+ @table +' where id=2'
exec sp_executesql @s1, N'@p1 int output', @a output
exec sp_executesql @s2, N'@p1 int output', @b outputreturn