这个存储过程为什么读不出数据啊?郁闷

IT流渊 2007-04-15 12:48:34
CREATE PROCEDURE PrSerchTag
@tag varchar(20)
AS
declare @id int
declare @tagid int
--declare @bool char(4)
begin
if exists (select tagid from tagtable where tagname like '%'+@tag+'%')
begin

select @tagid = tagid from tagtable where tagname like '%'+@tag+'%'
select @id= rizhiid from rizhitagtable where tagid =@tagid
select rizhiid,yonghuname,rizhititle,substring(rizhicontent,0,200)+'......' as 'rizhicontent',rizhitime,touchnum,yonghuid from rizhiview where rizhiid=@id
end
else
return (0)


end
...全文
257 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT流渊 2007-04-18
  • 打赏
  • 举报
回复
对哦,非常感谢大家的帮助,谢谢!怎么就没想到呢....
sunshareforever 2007-04-16
  • 打赏
  • 举报
回复
similarly answer below:

HTTP://www.ebigear.com/Fund/PlayNews.php?NewsID=28340&ID=285885

ojuju10 2007-04-16
  • 打赏
  • 举报
回复
@tagid,@id 只读出一个值,建议楼主写成游标
free_pop2k 2007-04-15
  • 打赏
  • 举报
回复
@tagid只能是最后的一个tagid的值
@id也只能是rizhiid的最后一个值
free_pop2k 2007-04-15
  • 打赏
  • 举报
回复
select @tagid = tagid from tagtable where tagname like '%'+@tag+'%'
select @id= rizhiid from rizhitagtable where tagid =@tagid

tagid应可能有多个值吧,能这样输给@tagid么?
rizhiid也有可能有多个值的,不能这样给@id输值.
OracleRoob 2007-04-15
  • 打赏
  • 举报
回复
if exists (select tagid from tagtable where tagname like '%'+@tag+'%')
begin

.....
-->


if exists (select tagid from tagtable where tagname like '%'+@tag+'%')
begin

select 1 --加上这条,执行后看看有没有执行到这句。
.....
IT流渊 2007-04-15
  • 打赏
  • 举报
回复
数据库里相应的记录都有的就是不出来。
select tagid from tagtable where tagname like '%'+@tag+'%'
在查询分析器能查处值来的,是单条运行的。
OracleRoob 2007-04-15
  • 打赏
  • 举报
回复
监测@tagid、@id的值。

在你的Sp中每一步,都加上select @tagid as tagid,@id as id,看看变量值是否正确
CathySun118 2007-04-15
  • 打赏
  • 举报
回复
数据库中有相应的记录吗
在查询分析器中执行试试

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧