微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

挑战电晕作为练习

如何解决挑战电晕作为练习

我正在接受关于电晕的挑战作为练习练习,没什么复杂的。

此时我在 'person' 表上创建了一个 before 触发器:有 2 个存储过程

> CREATE DEFINER=`root`@`localhost` TRIGGER `person_BEFORE_INSERT`
> BEFORE INSERT ON `person` FOR EACH ROW
> BEGIN        
>    call pr_checkCitizenship(new.citizenship);
>    call pr_isolated(new.isolation_type,new.stateFrom);
>  `END

一个按预期工作,防止插入不是来自塞尔维亚的人(bs 挑战,可能是另一个公民身份,没关系)

>CREATE PROCEDURE `pr_checkCitizenship`(country_cs varchar(40))
> BEGIN
>   if country_cs not like "serbian" then
>       signal sqlstate '45000'  set message_text = "citizenship must be serbian";
>   end if;
>END

第二个不起作用,这是关于孤立的日子,可能是 14 或 28。 如果国家有病毒传播的高风险,应该是28,否则应该是14。 重点:如果当前国家在“国家”表中,“isolation_type”应该是28,否则应该是14。(我们假设如果当前国家它在国家/地区表中应该是 28)

我的想法是 在"person"表中我认设置14,所以如果国家是高风险应该28而不是14

> CREATE PROCEDURE `pr_isolated`(isolation_type enum("14","28"),>                                     
> country_travel varchar(40))
> BEGIN
>   /*CHECK IF THE CURRENT COUNTRY BELOGNS TO A COUNTRY*/
>   declare hotSpot varchar(40);
>   select name from country where name = country_travel into hotSpot;
>      if hotSpot <> '' then
>        /*INSERT ROW 28 DAYS*/
>        set isolation_type = "28";
>      end if;
> END

这是“人”表:

enter image description here

这是“国家”表

enter image description here

顺便说一句: 我有一个要求为那个人留下隔离日期,这就是为什么我有 capture_ts 和 capture_dt 供以后计算该值,我认为这是有道理的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。