SQL中的断言、触发的定义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中的断言、触发的定义相关的知识,希望对你有一定的参考价值。

用create assertion <name> check <P>
始终提示assertion附近有错误。。。
trigger也是总出错,高手过来指点,直接采用教学模式,不用给我改错。。。
谢过!

断言约束:不必与特定的列绑定,可以理解为能应用于多个表的check约束,因此必须在表定义之外独立创建断言。
语法如下:
create
assertion
constraint_name
check
search
condition
例如:
create
assertion
name
check
(emp_sal.emp_id
in(select
emp_id
from
employeeinfo
where
emp_name
is
not
null)
添加断言后,每当试图添加或修改emp_sal表中的数据时,就对断言中的搜索条件求值,如果为false,则取消执行,给出提示。
参考技术A 断言:
create assertion assertion_name
约束语句

例如:create assertion 断言名
check (语句);

触发器:
create trigger trigger_name
on table_name(作用的表)
for insert|update|delete(针对不同类型)
as
[if update(列名)[|and|or|update(列名)....]]
sql_statement(sql语句)本回答被提问者采纳

以上是关于SQL中的断言、触发的定义的主要内容,如果未能解决你的问题,请参考以下文章

数据库系统原理SQL语言

MySQL触发器定义及其优缺点

数据库完整性-第四六七节:约束命名子句断言和触发器

SQL SERVER 触发器

与 SQL 数据库中的触发器触发相关的查询?

SQL Server 触发器