问个赋值的问题?
第一个问题?
declare @RecordCount int
select @RecordCount=count(perid) from person
本来的语句如上
但是后面那个判断比较复杂,是查询的,用了动态的sql语句,然后这句话该怎么写?
exec( 'select @RecordCount=count(perid) from '+@sql)
这样写提示变量@recordCount未声明?我该怎么把查询出来的结果count(perid)赋给@RecordCount,麻烦大家帮忙啦,谢谢
第二个问题?
三个表连在一起进行查询,怎么样写效率更高?我现在用的是动态sql,因为条件太多,我把连接的语句写在下面(大家不要笑,我是菜鸟),要改成怎样,效率会更高:
select *
from
person
full join personjob on personjob.perid=person.perid
full join person_info on person_info.perid=personjob.perid
没办法,分少而且发了两个问题,请大家帮帮忙
[解决办法]
declare @RecordCount int,@sql nvarchar(1000)
set @sql=N 'select @RecordCount=count(perid) from '+@sql
exec sp_executesql @sql,N 'RecordCount int output ',RecordCount
select RecordCount