下面存储过程在sql2005中能测试通过,我想把它写成mysql中的存储过程,不知道怎么写?
create procedure pr_xl_tz
@pr_id varchar(20),
@now_id varchar(20)
AS
begin
if(@pr_id!=@now_id)
-- update ssap_fortify set ssap_fortify.SSAPBugTypeID = @now_id where ssap_fortify.SSAPBugTypeID=@pr_id;
update ssap_fortify set ssap_fortify.SSAPID = @now_id where ssap_fortify.SSAPID=@pr_id;
end;

解决方案 »

  1.   

    DELIMITER $$
    drop procedure if exists pr_xl_tz$$
    CREATE PROCEDURE `test`.`pr_xl_tz`(in pr_id varchar(20),in now_id varchar(20))
           BEGIN
    if(pr_id<>now_id) then
    -- update ssap_fortify set ssap_fortify.SSAPBugTypeID = now_id where ssap_fortify.SSAPBugTypeID=pr_id; 
    update ssap_fortify set ssap_fortify.SSAPID = now_id where ssap_fortify.SSAPID=pr_id; 
    end if;
        END$$DELIMITER ;
      

  2.   

    DELIMITER $$
    drop procedure if exists pr_xl_tz$$
    CREATE PROCEDURE `test`.`pr_xl_tz`(in pr_id varchar(20),in now_id varchar(20))
          BEGIN
    if (pr_id!=now_id) then
    -- update ssap_fortify set ssap_fortify.SSAPBugTypeID = now_id where ssap_fortify.SSAPBugTypeID=pr_id;
    update ssap_fortify set ssap_fortify.SSAPID = now_id where ssap_fortify.SSAPID=pr_id;
    end if;
        END$$DELIMITER ;
      

  3.   

    我在SQLYOG+MYSQL5。1下测试通过,你的运行环境
      

  4.   

    我用的是mysql5.0
    大哥,和版本有关系吗?
      

  5.   

    你是在MYSQL SHELL下输入的还是其它管理化管理工具中?
      

  6.   

    大哥,我是在MySQL Front 里面测试的
      

  7.   

    呵呵,SP的内容应该没有问题,你在MySQL Front新建SP,将
    CREATE PROCEDURE `test`.`pr_xl_tz`(in pr_id varchar(20),in now_id varchar(20)) 
          BEGIN 
    if(pr_id <>now_id) then 
    -- update ssap_fortify set ssap_fortify.SSAPBugTypeID = now_id where ssap_fortify.SSAPBugTypeID=pr_id; 
    update ssap_fortify set ssap_fortify.SSAPID = now_id where ssap_fortify.SSAPID=pr_id; 
    end if; 
        END$$PASTE,不过建议你用SQLYOG,比ySQL Front好用。