Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法运行/执行MySQL触发器_Mysql_Mysql Workbench - Fatal编程技术网

无法运行/执行MySQL触发器

无法运行/执行MySQL触发器,mysql,mysql-workbench,Mysql,Mysql Workbench,我正在Mysql Workbanch中创建触发器,但无法创建触发器。 有人能帮我吗 DELIMITER $$ create TRIGGER Insert_Test After Delete ON Test FOR EACH ROW BEGIN START TRANSACTION; DECLARE v_ID INT; DECLARE v_Error TINYINT; DECLARE v_AgentID INT; SELECT v_Error = 0; v_ID=Old

我正在Mysql Workbanch中创建触发器,但无法创建触发器。 有人能帮我吗

DELIMITER $$
create TRIGGER Insert_Test
After Delete ON Test
FOR EACH ROW 
BEGIN
 START TRANSACTION;
 DECLARE v_ID    INT; 
 DECLARE v_Error TINYINT; 
 DECLARE v_AgentID INT;
 SELECT  v_Error = 0; 

 v_ID=Old.id;
   BEGIN  
   DELETE Test2 WHERE id = SELECT id FROM Test where id=v_ID;
   Rollback;
   SET v_Error = 1; 
   END  
 IF v_Error = 0;   
THEN  
COMMIT;  
ELSEIF   
v_Error = 1;   
THEN  
ROLLBACK;  
END IF;  
END     
DELIMITER ;
Sql server触发器

ALTER TRIGGER [dbo].[tr_DelRecordTypeID] ON [dbo].[luRecordType] FOR DELETE  
 AS  
SET NOCOUNT ON  
BEGIN TRANSACTION  
    DECLARE @ID INT, @GroupTypeID INT, @Error BIT, @Msg VARCHAR(500)  
    SELECT  @Error = 0  
    SELECT  @ID = RecordTypeID FROM deleted   
    SELECT  @GroupTypeID = 30  
    IF EXISTS ( SELECT  g.GroupID  
                FROM    luGroup g,  
                        [luGroupDetail] gd  
                WHERE   g.[GroupID] = gd.[GroupID]  
                        AND g.[GroupTypeID] = @GroupTypeID  
                        AND gd.[MemberID] = @ID )   
        BEGIN  
          DELETE [agAgent] WHERE [AgentID] = (SELECT TOP 1 AgentID FROM agAgentPayType)   
          Rollback transaction   
          SET @Error = 1  
        END       
    IF @Error = 0   
        BEGIN  
            COMMIT TRANSACTION  
        END  
    ELSE   
        IF @Error = 1   
            BEGIN  
                ROLLBACK TRANSACTION  
            END
这是我试图在mysql workbanch中实现的触发器,请检查
我会很感激的, 谢谢
Aman

好的,谢谢您的回复,然后请纠正我的错误(v_ID=Old.ID)。这里的语法错误-1)所有声明必须出现在任何其他语句之前2)需要设置赋值,并且没有旧的。插入触发器上的记录如果您说明了要执行的操作,可能会有所帮助,因为此触发器看起来很乱。能否将sql触发器添加为问题的文本请。@P.Salmon,请检查,我已将sql server触发器添加为文本