sqldb.map から呼び出される sql ファイルにデータベース トリガーを追加して、データベースの作成後にいくつかのデータベース トリガーを作成しようとしています。
ただし、トリガーを作成するには、delimiter コマンドを使用して区切り文字をセミコロン以外のものに変更する必要があります。これは失敗し、結果トリガーの作成は両方とも標準で失敗しますyou have a syntax error message.
。この方法で単純な sql ステートメントを実行できますが、区切り文字が好きではありません。
何かご意見は?
delimiter //
CREATE TRIGGER `SHOW_ADD_NEWS_ITEM`
AFTER INSERT ON `show`
FOR EACH ROW
BEGIN
declare username varchar(255);
IF NEW.privacy_key IS NOT NULL AND NEW.privacy_key <> 'PRIVATE' and (NOT EXISTS (select id from feed_friend_activity
where location_identifier = NEW.uuid and user_id = NEW.user_id and event_type = 'published show')) THEN
select concat(user.first_name,user.last_name) into username from user where user.id = NEW.user_id;
insert into feed_friend_activity
(location_identifier,user_id,event_type,user_name,item_name,created_on)
values (NEW.uuid,NEW.user_id,'published show',username,NEW.name,NEW.created_on);
END IF;
END
//