前面的有问题
这个是测试通过的
create PROCEDURE dgz
@mm int output
AS
declare @m int
declare @a varchar(200)
declare @b nvarchar(2000)
declare @c int
set @a=' where a<5'
set @b=N'select @m=count(*) from aa ' + @a
exec sp_executesql @b
,N'@m int out'
,@m out
set @mm=@m
GO
--调用:
declare @n int
exec dgz @mm=@n output
select @n
CREATE PROCEDURE dgz
@mm int output
AS
declare @a varchar(200)
declare @b varchar(200)
declare @c int
set @a=' where a<5'
set @b='select '+@mm+'=count(*) from aa ' + @a
exec(@b)
比如:
--------------------------------
CREATE PROCEDURE dgz
@mm int output
AS
declare @a varchar(200)
declare @b varchar(200)
declare @c int
set @a=' where a<5'
set @b='select @mm=count(*) from aa ' + @a
exec(@b)
GO
执行时:
-------------------------------------------
declare @dd int
exec dgz @dd