储存过程,判断字段。
- SQL code
CREATE PROCEDURE `Up_MyConcern_Ins`( IN Id_Int , IN StarConcern_VarC varchar(800), IN TI_Id_Int, IN ChannelNo_Int, IN UserName_VarC varchar(800) , OUT ReturnValues_Int INT)PROC:BEGINDECLARE IsExists_Int INT;DECLARE Id_Int INT; DECLARE EXIT HANDLER FOR SQLSTATE'23000' BEGIN SET ReturnValues_Int = 1; ROLLBACK;END;SET AUTOCOMMIT = 0;START TRANSACTION;SET ReturnValues_Int = 0;SELECT COUNT(1) INTO IsExists_Int FROM MyConcern WHERE MC_StarConCern_VarC = StarConCern_VarC;IF IsExists_Int = 0 THEN SET ReturnValues_Int = 2; ROLLBACK; LEAVE PROC;END IF; INSERT INTO MyConcern(MC_Id_Int,MC_TI_Id_Int,MC_ChannelNo,MC_UserId_Int,MC_UserName_VarC,MC_StarConcern_VarC) VALUES(Id_Int,FN_Id_Int,ChannelNo_Int,UserId_Int,UserName_VarC,StarConcern_VarC);
表MyConcern的插入存储过程,插入前要对TI_Id_Int(在另外一张表里存着) 字段判断,存在可以插入,不存着返回。
怎么修改插入存储过程?
[解决办法]
自己动手做一下吧,有问题再问
[解决办法]
楼主碰到的问题是什么? 建议把错误信息一同贴出以供分析。
[解决办法]
SELECT COUNT(1) INTO IsExists_Int FROM MyConcern WHERE MC_StarConCern_VarC = StarConCern_VarC;
IF IsExists_Int = 0 THEN
SET ReturnValues_Int = 2;
ROLLBACK;
LEAVE PROC;
END IF;
同样方式对 TI_Id_Int 进行判断。只是表改变为存 TI_Id_Int 字段的表。