locked
存储过程tosql RRS feed

  • 问题

  • ALTER procedure Get_ClassProduct 
    (@startIndex int,
    @endIndex int,
    @Classid int,
    @docount bit)
    as
    set nocount on
    if(@docount=1)
    select count(*) As Counts from Product where classid=@classid
    else
    begin
    declare @indextable table(id int identity(1,1),nid int)
    set rowcount @endIndex
    insert into @indextable(nid) select ID from Product  where classid=@classid order by ID desc
    select * from Product O,@indextable t where O.ID=t.nid
    and t.id between @startIndex and @endIndex order by t.id
    end
    set nocount off
    我想问一下这段存储过程转换层SQL是什么啊?谢谢
    • 已移动 Sheng Jiang 蒋晟 2009年11月18日 20:15 SQL语法问题 (发件人:ASP.NET 与 AJAX)
    2009年11月18日 6:33

答案

  • 不太喜欢用存储过程,感觉很烦,上面这段是我用一个叫AspNetPager的分页控件的时候用到的,

    declare @startIndex int
    declare @endIndex int
    declare @Classid int
    declare @docount bit

    set @startIndex = n
    set @endIndex = n
    set @Classid = n
    set @docount = n
    set nocount on
    if(@docount=1)
    select count(*) As Counts from Product where classid=@classid
    else
    begin
    declare @indextable table(id int identity(1,1),nid int)
    set rowcount @endIndex
    insert into @indextable(nid) select ID from Product  where classid=@classid order by ID desc
    select * from Product O,@indextable t where O.ID=t.nid
    and t.id between @startIndex and @endIndex order by t.id
    end
    set nocount off

    Replace n with proper number, but don't think that will make your life easier.
    2009年11月18日 20:51

全部回复

  • 什么意思啊?你不想要存储过程?
    拷贝里面的insert into 那行就行啊 

    【孟子E章】
    2009年11月18日 6:44
  • 不太喜欢用存储过程,感觉很烦,上面这段是我用一个叫AspNetPager的分页控件的时候用到的,
    2009年11月18日 7:27
  • 不太喜欢用存储过程,感觉很烦,上面这段是我用一个叫AspNetPager的分页控件的时候用到的,

    declare @startIndex int
    declare @endIndex int
    declare @Classid int
    declare @docount bit

    set @startIndex = n
    set @endIndex = n
    set @Classid = n
    set @docount = n
    set nocount on
    if(@docount=1)
    select count(*) As Counts from Product where classid=@classid
    else
    begin
    declare @indextable table(id int identity(1,1),nid int)
    set rowcount @endIndex
    insert into @indextable(nid) select ID from Product  where classid=@classid order by ID desc
    select * from Product O,@indextable t where O.ID=t.nid
    and t.id between @startIndex and @endIndex order by t.id
    end
    set nocount off

    Replace n with proper number, but don't think that will make your life easier.
    2009年11月18日 20:51
  • 我最讨厌那些想把自己思想强加给人的人,还来几句英语,搞的自己很牛逼一样,你很厉害吗?oh ,no.
    2009年11月19日 14:16
  • Better than you on sql at least.
    2009年11月19日 16:23
  • 孟宪会他们也强吗?他们为什么能够谦虚的去指导那些不懂的人呢,而你要一副趾高气扬的样子,看了就让人做作呕。
    2009年11月20日 0:40
  • My response just tells fact, never force you accept. You can ignore if don't like the truth, but nasty posting will not make you smarter.
    2009年11月20日 3:23