Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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_Sybase - Fatal编程技术网

Mysql触发器语法(如果不存在)

Mysql触发器语法(如果不存在),mysql,sybase,Mysql,Sybase,我们有两张桌子(俱乐部、乡村) 教授给我们举了这样的例子 CREATE TRIGGER tg_add_club AFTER INSERT ON Club REFERENCING NEW AS uus FOR EACH ROW BEGIN IF (NOT EXISTS ( ) THEN ) END IF; UPDATE Club END; 我不懂语法。我试着用这个例子 CREATE TRIGGER tg_add_cl

我们有两张桌子(俱乐部、乡村)

教授给我们举了这样的例子

CREATE TRIGGER tg_add_club
AFTER INSERT ON Club
REFERENCING NEW AS uus
FOR EACH ROW
BEGIN
    IF (NOT EXISTS ( 
        )
        THEN 
        )
    END IF;

    UPDATE Club
END;

我不懂语法。我试着用这个例子

CREATE TRIGGER tg_add_club
AFTER INSERT ON Club
REFERENCING NEW AS uus
FOR EACH ROW
BEGIN
    IF uus.Club.Location (NOT EXISTS ( Village.name 
        )
        THEN INSERT INTO Village (name) VALUES (uus.Club.location)
        )
    END IF;

    UPDATE Club SET (Village.name = uus.Location)
END;

显然它不起作用,它看起来更像一个伪代码…但它应该给出一个想法。如何修复我的代码


如果有什么不清楚的地方,那么我将尝试添加更多信息,因为psuedo代码与否都是胡说八道,很难猜测您想要什么

一些更正

CREATE TRIGGER tg_add_club
AFTER INSERT ON Club
FOR EACH ROW
BEGIN
    IF NOT EXISTS (select 1 from Village where name = new.location THEN 
       INSERT INTO Village (name) VALUES (new.location)
    else
      #UPDATE Club SET (Village.name = uus.Location)
    end if;
END

注意-这是mysql语法,没有引用子句,您无法更新CLUB,您可能需要设置分隔符

“引用新的作为UU”不是mysql语法。如果您使用的是mysql,请删除此选项,并将其他UU更改为新的,存在性检查需要一个selectWhat错误?你想要实现什么?你是使用MySQL还是Sybase?我真的怀疑它们是否使用相同的语法。如果您使用的是Sybase,您使用的是哪个Sybase RDBMS(ASE?IQ?SQLAnywhere?Advantage?)版本?正如其他人所提到的,您需要告诉我们您正在使用什么RDBMS产品,因为每个产品都有自己的SQL语言风格(即,并非所有实现的SQL语言都是相同的)
CREATE TRIGGER tg_add_club
AFTER INSERT ON Club
FOR EACH ROW
BEGIN
    IF NOT EXISTS (select 1 from Village where name = new.location THEN 
       INSERT INTO Village (name) VALUES (new.location)
    else
      #UPDATE Club SET (Village.name = uus.Location)
    end if;
END