my sql 触发器_在表中创建触发器 (SQL)
示例 1:行级 INSERT 触发器
以下触发器是一个行级 INSERT 触发器的示例。它检查为新雇员输入的出生日期是否合理:CREATE TRIGGER check_birth_date
AFTER INSERT ON Employees
REFERENCING NEW AS new_employee
FOR EACH ROW
BEGIN
DECLARE err_user_error EXCEPTION
FOR SQLSTATE '99999';
IF new_employee.BirthDate > 'June 6, 2001' THEN
SIGNAL err_user_error;
END IF;
END;
注意
在 SQL Anywhere 示例数据库中,可能已经有一个名为 check_birth_date 的触发器。如果是这样,当尝试运行上述 SQL 语句时,将返回一个错误,指示触发器定义与现有触发器冲突。
此触发器在有任何行插入 Employees 表之后触发。它会检测并禁止对应出生日期晚于 2001 年 6 月 6 日的任何新行。
短语 REFERENCING NEW AS new_employee 使用别名 new_employee 以允许触发器代码中的语句引用新行中的数据。
发出错误信号将导致撤消触发语句以及之前所有的触发器操作结果。
对于将许多行添加到 Employees 表的 INSERT 语句,check_birth_date 触发器为每一新行触发一次。如果该触发器对任何行触发失败,则 INSERT 语句的所有结果都回退。
您可以通过将示例的第二行更改为以下内容,指定触发器在插入行之前而非插入行之后触发
BEFORE INSERT ON Employees
REFERENCING NEW 子句引用该行的插入值;它与触发器的计时(之前或之后)无关。
有时,使用声明的参照完整性或 CHECK 约束(而不是触发器)实施约束会更容易。例如,使用列检查约束来实现上例会更简洁、更高效:
CHECK (@col <= 'June 6, 2001')
my sql 触发器_在表中创建触发器 (SQL)相关推荐
- mysql添加序列触发器_在Oracle中创建自增序列之触发器
下面是对Oracle表中一个字段建立自增序列的例子与说明,希望对大家有所帮助. 下面是对Oracle表中一个字段建立自增序列的例子与说明,,希望对大家有所帮助. /*================= ...
- SQL 向:在 mysql 中创建《SQL 经典实例》中的两个主要在用的表 emp 和 dept 供大家使用
创建 emp 表 CREATE TABLE emp (EMPNO int NOT NULL,ENAME VARCHAR (20) NOT NULL,JOB VARCHAR (20) NOT NULL, ...
- java触发器如何创建表_在java 中执行触发器代码、创表语句
由于程序的需要,在SQLServer 中创建触发器及建表,碰到了在java 代码中执行创建触发器及表. /**建立中间表*/ public static final String createMidd ...
- mysql中以下正确的sql是_总结MySQL中SQL语法的使用
--where子句操作符: where子句操作符 = 等于 <> 不等于(标准语法) != 不等于(非标准语法,可移植性差) < 小于 <= 小于等于 > 大于 > ...
- oracle中创建触发器
从csdn上面看到一个如何创建触发器的问题,感觉自己很有必要保存学习,特写下来: 条件: 现有A.B两张表 A: 工号 姓名 密码 性别 年龄 ... B: 工号 姓名 密码 当对A表中的" ...
- SQLSERVER数据库、表的创建及SQL语句命令
SQLSERVER数据库.表的创建及SQL语句命令 备份,还原,创建,删除,查询,修改 ** 数据库定义及操作命令:** 按照数据结构来组织.存储和管理数据的仓库.由表.关系以及操作对象组成,把数据存 ...
- @sql 单元测试_简单单词中使用tSQLt进行的常规SQL单元测试
@sql 单元测试 This article is about basics of conventional SQL unit testing concepts and its implementat ...
- python怎么导入sql数据库,##使用python将excel表中数据导入sql server数据库
如何用python将excel数据导入到postgresql数据库中 把excel表格另存为csv文件 python将exce文件含有多个sheet同时l导入sqlserver数据库 需要使用xlrd ...
- 用sql语句对数据库表中的数据进行增删改
如何使用sql语句对mysql数据库中表的数据进行增删改 这里新创了一个school数据库,在下面创建一张名为student表,创建student表的sql语句代码如下: #使用school数据库 u ...
最新文章
- 2022-2028年中国二次元行业深度调研及投资前景预测报告
- Centos7常用命令
- 这才是Matlab的正确打开方式!——Matlab矩阵、绘图、函数计算与数据读取
- [RN] 全国城市列表选择 (包含定位城市、热门城市、全国城市)
- Button控件的基本使用(初识封装、减少代码冗余性、代码优化)
- java界面 文件选择器_掌握java技术 必备java工具应用知识
- 输入一个正整数求所有素数因子_一起来聊聊素数的两个性质
- Java Object类详解
- C#LeetCode刷题-图
- 公安部身份证阅读器模块SAM通讯协议
- 美团外卖批量投放智能安全头盔:骑手可语音处理订单
- Python卸载报错:No Python 3.8 installation was detected
- python和c的语法区别_python和c语言语法有什么区别?
- Linux替换压缩包下的文件,Linux下rar及zip压缩包中批量替换某文件脚本
- 微信 网页授权/第三方平台账户绑定/微信openid获取
- 歌唱比赛报名php源码,2021东方音乐挑战赛正式官宣发布 歌唱比赛音乐选秀节目全球报名招募...
- python实现连环阵
- 使用print.js进行分页打印
- linux 文件夹同步备份,SyncToy实现本地文件夹同步备份
- 聚美优品店庆nbsp;从天堂到地狱