第一个问题?
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
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没办法,分少而且发了两个问题,请大家帮帮忙
解决方案 »
- 现在我想把这2个表的关系表memberId,taskId,taskContext合并到会员表和任务表中
- 想破头皮的问题:计算列的case..when判断
- 问一个索引的问题
- 关于存储过程的问题求教,想了很久未果
- 如何用存储过程插入、更改 ntext 的字段??
- 库中有一字段Class_1,被我添加了四条空记录,即显示null值。为什么无法删除而且无法更新。真怪呀
- 一个智力测试(One intelligence test),欢迎讨论
- 使用触发器的一个简单例子,请帮忙看看错在哪里?50分相送!
- 能否在外部程序写sql语句进sql代理,让它在设定的时间运行储存过程?
- 一个插入数据的问题,有两个表.
- 初学数据库的问题!
- 求一SQL?
set @sql=N'select @RecordCount=count(perid) from '+@sql
exec sp_executesql @sql,N'RecordCount int output',RecordCount
select RecordCount
set @sql=N'select @RecordCount=count(perid) from '+@sql
exec sp_executesql @sql,N'RecordCount int output',@RecordCount
select @RecordCount
但是执行的时候,又提示:过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型
麻烦再帮帮,万分感谢,这个问题昨天搞了一下午兼晚上,已经快晕了
declare @RecordCount int,@sql nvarchar(1000)
set @sql=N'select @RecordCount=count(perid) from '+@sql
exec sp_executesql @sql,N'RecordCount int output',@RecordCount output'
select @RecordCount
declare @RecordCount int,@sql nvarchar(1000)
set @sql=N'select @RecordCount=count(perid) from '+@sql
exec sp_executesql @sql,N'RecordCount int output',@RecordCount output
select @RecordCount
我是用了两个储存过程,一个读全部的数据,一个按查询结果读数据为什么读全部数据的我这句就可以通过:
declare @RecordCount int
select @RecordCount=count(perid) from person而带条件的那个用了你给的办法之后,按道理也是一样,因为只取了@RecordCount
declare @RecordCount int
set @sql=N'select @RecordCount=count(person.perid) from '+@sql
exec sp_executesql @sql,N'@RecordCount int output',@RecordCount output
--^--这个位置我加了个@符号结果提示如:选定数据源上未能找到名称为“realname”的字段或属性,但是如果我在上面的语句中加入字段后如:
set @sql=N'select @RecordCount=count(person.perid),realname from '+@sql
后会提示:向变量赋值的 SELECT 语句不能与数据检索操作结合使用这些问题该怎么解决?再次麻烦楼上的大哥帮帮看一下,万分感谢!!
楼主把你的语句完整的贴出来
exec(@sql)
这样就可以了!
要显示@RecordCount变量的内容,是不能直接放到字符串里的。