提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-08-23 10:39:11.010|阅读 947 次
概述:Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。在这篇文章中,我们将在Navicat Premium中编写一个触发器,用于验证MySQL数据库表上的插入操作。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。它与 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。
有一些非常好的理由可以解释为什么数据验证最好在数据库级别而不是在应用程序级别执行。例如,多个应用程序可以访问相同的数据源。因此,您可以依赖于数据的一致性和有效性,而不必依赖于在应用程序端应用的验证逻辑,这可能在不同的实现中不一致。此外,触发器是验证的理想选择,因为它们可以在插入或更新数据之前执行。触发器还可以防止在提供错误消息时应用数据库事务。
在这篇文章中,我们将在Navicat Premium中编写一个触发器,用于验证MySQL数据库表上的插入操作。
设计触发器
我们将使用Sakila示例数据库。它包含一些以虚构视频租赁店为主题的相关表格。在这里,他们在Navicat Premium导航窗格中:

我们将把触发器添加到电影表中。如果您在Designer中打开它,您会看到有几个选项卡:

单击“触发器”选项卡可显示已为该表定义了一些触发器。例如,ins_film触发器将胶片信息复制到数据插入的film_text表中。这是分配给触发器的常见任务。

现在我们将添加一个触发器,确保使用original_language_id插入外国电影。
电影的语言实际存储在语言查找表中:

| LANGUAGE_ID | 名称 | 最后更新 |
| 1 | 英语 | 2006-02-15 05:02:19 |
| 2 | 意大利 | 2006-02-15 05:02:19 |
| 3 | 日本 | 2006-02-15 05:02:19 |
| 4 | 普通话 | 2006-02-15 05:02:19 |
| 5 | 法国 | 2006-02-15 05:02:19 |
| 6 | 德语 | 2006-02-15 05:02:19 |
除1之外的任何language_id也应具有original_language_id。我们的触发器将检查original_language_id列中的值。
1、在电影表的“设计视图”中,选择“触发器”选项卡,然后单击“添加触发器”按钮。
这将在触发器表中添加一个新行。
2、分配名称“ins_validate_language”,从Fires下拉菜单中选择BEFORE,然后单击Insert复选框。
3、这是触发器Body:
BEGIN IF NEW.language_id != 1 AND NEW.original_language_id IS NULL THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Original language id is required for Foreign language films.'; END IF; END
这是我们的触发器,填写了所有字段:

4、单击“保存”按钮以创建触发器。
测试触发器
现在是时候验证我们的触发器是否按预期工作。为了测试它,让我们用一个外语language_id为电影表添加一个新行。
1、在编辑器中打开电影表。
2、导航到最后一行。
3、选择表单视图,然后单击加号(+)按钮添加新行:

4、在表单中,您只需输入标题和language_id;所有其他字段都具有默认值或不是必需的。
5、单击添加(复选标记)按钮时,您应该看到我们的错误消息:

结论
触发器是验证的理想选择,因为它们可以在插入或更新数据之前执行。我们通过在Navicat Premium中编写触发器,了解了如何将触发器用于验证目的。
想要购买Navicat Premium正版授权,或了解更多产品信息请点击
扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn




Parasoft C/C++test是一款专为C/C++代码设计的自动化测试工具,通过静态代码分析、单元测试和运行时错误检测等功能,帮助开发团队在早期发现并修复缺陷,提升代码质量和开发效率 。在实际使用中,尤其是在VC6此类旧版开发环境中执行单元测试时,可能会因环境兼容性问题触发链接错误。
本文主要介绍如何在MVVM应用程序中使用虚拟源,欢迎下载最新版组件体验!
Aspose.Slides for Java使用户能够轻松地操作幻灯片、添加注释和转换文件。其易用性和集成能力提高了工作效率,使开发人员能够专注于更关键的任务。
在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
相关产品
Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。
最新文章 MORE
永利最大(官方)网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站