CREATE PROCEDURE p_AddArtisType (isAdd int,aId varchar(10),tIds varchar(500))
BEGIN  
declare updatesql varchar(4000);
        if(isAdd=1) then
if(tIds!='') then
set updatesql =CONCAT('select ',aId,',ID,FullID,FullName into artiststype(AId,TId,IdPath,NamePath)  from t_part_info where ID in(',tIds,')');
                        PREPARE sqltext from updatesql;
                        execute sqltext;
end if
end if
END;  这个存储过程到底哪里错啦?
if
里面用不用加
begin
end

解决方案 »

  1.   

    DELIMITER $$
    CREATE PROCEDURE p_AddArtisType (isAdd INT,aId VARCHAR(10),tIds VARCHAR(500))
    BEGIN  
        DECLARE updatesql VARCHAR(4000);
            IF(isAdd=1) THEN
            IF(tIds!='') THEN     
                SET @updatesql =CONCAT('select ',aId,',ID,FullID,FullName into artiststype(AId,TId,IdPath,NamePath)  from t_part_info where ID in(',tIds,')');
                            PREPARE sqltext FROM @updatesql;
                            EXECUTE sqltext;
            END IF;
        END IF;
    END$$
    DELIMITER ;