MYsql怎么像SqlServer一样在查询分析器中执行多行语句

MYsql如何像SqlServer一样在查询分析器中执行多行语句

SQL code


  
use pubs

declare @fid int 
declare @milestone int
declare @count int
declare @val int

set @fid = 1
set @milestone = 1


truncate table milestone

--得到总的milestone数
select  @count = count(1) / 10000
from    thread
where   fid = @fid

--第一个milestone
select top 1
        @val = lastpost
from    thread with ( nolock )
where   fid = @fid
        and lastpost not in ( select top 10000
                                        lastpost
                              from      thread with ( nolock )
                              where     fid = @fid
                              order by  lastpost desc )
order by lastpost desc
insert  into milestone
        ( fid, milestone, lastpostdesc )
values  ( @fid, @milestone, @val )
set @milestone = @milestone + 1

while ( @milestone <= @count ) 
    begin    
        select top 1
                @val = lastpost
        from    thread with ( nolock )
        where   fid = @fid
                and lastpost < @val
                and lastpost not in ( select top 10000
                                                lastpost
                                      from      thread with ( nolock )
                                      where     fid = @fid
                                                and lastpost < @val
                                      order by  lastpost desc )
        order by lastpost desc
        
        insert  into milestone
                ( fid, milestone, lastpostdesc )
        values  ( @fid, @milestone, @val )    
        set @milestone = @milestone + 1
    end



在SqlServer中我们常常合并多行语句然后直接执行,但是在mysql中如何执行以上语句呢?

我是想直接在代码里边执行,例如:

mySqlHelper.ExecuteQuery(“这里是上面的sql语句”);



MYSQL中无法实现这种过程式语句,只能在存储过程中使用。

如果是一般的多条SQL语句则可以通过分号来分隔即

select now(); select 1+1 ;




mysql是不能执行多条语句的。每条语句要分号隔开的。

mysql要实现此功能必须在存储过程中实现的。

MYsql怎么像SqlServer一样在查询分析器中执行多行语句

相关文章:

你感兴趣的文章:

标签云: