mssql  exec('declare cur_manu_in_ready cursor for 
      select ms.manu_number,mr.manuscript_id,mr.page_extent,pt.name,pt.name 
                from manuscript_ready mr left join plancolumn_type pt on mr.plan_column=pt.plancolumn_id
                                         left join manuscript ms on mr.manuscript_id=ms.manu_id
               where ms.manu_number in '+@GaoHaoList)mysqldeclare cur_manu_in_ready cursor for 
      select ms.manu_number,mr.manuscript_id,mr.page_extent,pt.name,pt.name 
                from manuscript_ready mr left join plancolumn_type pt on mr.plan_column=pt.plancolumn_id
                                         left join manuscript ms on mr.manuscript_id=ms.manu_id
               where ms.manu_number in GaoHaoList;
declare continue handler sqlstate '02000' set done=1;
以上是我的代码。前者是正确的mssql,我现在把它转化成mysql的,下面的mysql的存在问题。希望高手帮帮忙啦。谢谢。

解决方案 »

  1.   

    1、DECLARE done INT DEFAULT 0;
    declare cur_manu_in_ready cursor for 
    select ms.manu_number,mr.manuscript_id,mr.page_extent,`pt.name`,
    `pt.name ` from manuscript_ready mr left join plancolumn_type pt 
    on mr.plan_column=pt.plancolumn_id
    left join manuscript ms on mr.manuscript_id=ms.manu_id
    where ms.manu_number in ('123','456');
    declare continue handler FOR sqlstate '02000' set done=1;
    2、注意IN的内容。
      

  2.   

    首先谢谢楼上的宝贵意见,但是我有几个疑问。
    一、为什么要给pt.name加``。
    二、in 后面的本来是个变量,要是写成in('123','456')形势的。应该注意什么啊?
    我对这个不是很了解。网上找了一堆也没有相关的资料或实例。麻烦你们给说说谢谢。
      

  3.   

    1、NAME是保留字;
    2、in 后面的本来是个变量,要是写成in('123','456')形势的。应该注意什么啊?
    拆分字符串,形成in('123','456')形式