在存储过程中,动态执行SQL并且将该SQL查询结果赋值给变量的问题
我有一个存储过程
create proc test_proc
@result integer output
as
declare @ret_count integer
declare @sql_str varchar(255)
select @sql_str="select count(*) from testtable"
exec (@sql_str) --问题在这里,我怎样将count(*)的结果赋值给ret_count
select @result=@ret_count
上面我将sql语句写成
select @sql_str="select @ret_count=count(*) from testtable"
exec (@sql_str)
变量@ret_count还是得不到值,这种动态构造的sql语句如何赋值?