存储过程中的查询语句怎么写

xiaofen0224 2008-07-15 02:45:45
--向临时表中写入数据
insert into #t
select fjid,fjjgid,fjname,fjpyjm,fjqd,fcbj,fxsj from dbo.[sl_fjb]
where fjzt=@fjzt and fjjgid=@fjjgid and (fjname like '%'+@fjname+'%' or fjpyjm like '%'+@fjpyjm+'%' or fjqd like '%'+@fjqd+'%')
order by fjname

这个语句有没有什么错误啊? 我查不到对应的记录阿?
...全文
311 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaofen0224 2008-07-15
  • 打赏
  • 举报
回复
问题解决了。谢谢大家
wgzaaa 2008-07-15
  • 打赏
  • 举报
回复
你调用的语句呢
xiaofen0224 2008-07-15
  • 打赏
  • 举报
回复
CREATE PROCEDURE dbo.getfjlist
@iPageCount int OUTPUT, --总页数
@iPage int, --当前页号
@iPageSize int , --每页记录数
@fjjgid int,
@fjname varchar (150),
@fjpyjm varchar (150),
@fjqd varchar (150),
@fjzt varchar (150)


as
set nocount on
begin
--创建临时表
create table #t (ID int IDENTITY, --自增字段
s_fjid int,
s_fjjgid int,
s_fjname varchar(150),
s_fjpyjm varchar(150),
s_fjqd varchar(150),
s_fjcbj int,
s_fjxsj int)
--向临时表中写入数据
insert into #t
select fjid,fjjgid,fjname,fjpyjm,fjqd,fcbj,fxsj from dbo.[sl_fjb]
where fjname like '%'+@fjname+'%' or fjpyjm like '%'+@fjpyjm+'%' or fjqd like '%'+@fjqd+'%'
order by fjname

--取得记录总数
declare @iRecordCount int
set @iRecordCount = @@rowcount

--确定总页数
IF @iRecordCount%@iPageSize=0
SET @iPageCount=CEILING(@iRecordCount/@iPageSize)
ELSE
SET @iPageCount=CEILING(@iRecordCount/@iPageSize)+1

--若请求的页号大于总页数,则显示最后一页
IF @iPage > @iPageCount
SELECT @iPage = @iPageCount

--确定当前页的始末记录
DECLARE @iStart int --start record
DECLARE @iEnd int --end record
SELECT @iStart = (@iPage - 1) * @iPageSize
SELECT @iEnd = @iStart + @iPageSize + 1

--取当前页记录
select * from #t where ID>@iStart and ID<@iEnd

--删除临时表
DROP TABLE #t

--返回记录总数
return @iRecordCount
end
GO
wgzaaa 2008-07-15
  • 打赏
  • 举报
回复
你先在查询分析器中去了insert into #t 执行一下,你变量的声明、赋值及临时表建立都看不到,如果这些都没错,这句没有语法问题。
xiaofen0224 2008-07-15
  • 打赏
  • 举报
回复
不会报错的。临时表我有建的
wgzaaa 2008-07-15
  • 打赏
  • 举报
回复
可能是没有结果集,(可能是变量没有值),疯子说的会报错呀
xiaofen0224 2008-07-15
  • 打赏
  • 举报
回复
这个我是写在存储过程中的,我想问一下这个存储过程的语句有没有错误啊?
中国风 2008-07-15
  • 打赏
  • 举报
回复
--#T不存在時
select fjid,fjjgid,fjname,fjpyjm,fjqd,fcbj,fxsj
into #T
from dbo.[sl_fjb]
where fjzt=@fjzt and fjjgid=@fjjgid and (fjname like '%'+@fjname+'%' or fjpyjm like '%'+@fjpyjm+'%' or fjqd like '%'+@fjqd+'%')
order by fjname


以上insert into #T--臨時表要先建立
-狙击手- 2008-07-15
  • 打赏
  • 举报
回复
select fjid,fjjgid,fjname,fjpyjm,fjqd,fcbj,fxsj from dbo.[sl_fjb]
where fjzt=@fjzt and fjjgid=@fjjgid and (fjname like '%'+@fjname+'%' or fjpyjm like '%'+@fjpyjm+'%' or fjqd like '%'+@fjqd+'%')

--

这个有结果集吗?

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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