Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 创建触发器_Sql_Oracle_Triggers - Fatal编程技术网

Sql 创建触发器

Sql 创建触发器,sql,oracle,triggers,Sql,Oracle,Triggers,我只是想知道是否有人能帮我开始创建一个触发器 我需要创建一个触发器来检查INSERT语句中的某些字符 例如: 我想检查插入值是否有A、B、C 任何帮助都会很棒。 谢谢 这将在插入前触发,检查值“ABC”。如果希望在插入后触发它,请进行适当的更改。我们假设表table有一个名为value的字段 这将在插入前触发,检查值“ABC”。如果希望在插入后触发它,请进行适当的更改。我们假设表table有一个名为value的字段,请检查是否创建触发器,或者重试。要检查是否包含某些子字符串,请尝试该函数。检查是

我只是想知道是否有人能帮我开始创建一个
触发器

我需要创建一个触发器来检查
INSERT
语句中的某些字符

例如:

我想检查插入值是否有A、B、C

任何帮助都会很棒。 谢谢

这将在插入前触发,检查值“ABC”。如果希望在插入
后触发它,请进行适当的更改。我们假设表
table
有一个名为
value
的字段


这将在插入前触发,检查值“ABC”。如果希望在插入
后触发它,请进行适当的更改。我们假设表
table
有一个名为
value

的字段,请检查是否创建触发器,或者重试。要检查是否包含某些子字符串,请尝试该函数。

检查是否创建触发器,或者尝试。要检查是否包含某些子字符串,请尝试使用该函数。

最好的方法是使用检查约束,因为它是性能最好、最简单、正确的方法

对于您的原始示例,可能如下所示:

alter table t1
     add constraint t1_col1_ck check ( col1 = 'ABC')
;
您在注释中给出的示例不起作用,因为您正在将TO_NUMBER函数应用于包含冒号的非数字字符串。是否应该检查日期列的时间元素?如果是这样,这可能会奏效:

alter table t1
     add constraint t1_starttime_ck 
     check ( (start_date - trunc(start_date)  < 0.5)
;
alter表t1
添加约束t1\u开始时间\u ck
检查((开始日期-trunc(开始日期)<0.5)
;

确切的细节取决于您想要实施的规则。关键是,完整性规则应该尽可能通过约束而不是触发器来实施,这通常是可能的。

最好的方法是使用复选框,因为这是最有效、最简单、最正确的方法火车

对于您的原始示例,可能如下所示:

alter table t1
     add constraint t1_col1_ck check ( col1 = 'ABC')
;
您在注释中给出的示例不起作用,因为您正在对包含冒号的非数字字符串应用TO_NUMBER函数。它是否应该检查日期列的时间元素?如果是这样,则可以:

alter table t1
     add constraint t1_starttime_ck 
     check ( (start_date - trunc(start_date)  < 0.5)
;
alter表t1
添加约束t1\u开始时间\u ck
检查((开始日期-trunc(开始日期)<0.5)
;

确切的细节取决于您想要强制执行的规则。关键是,完整性规则应尽可能通过约束而不是触发器强制执行,这通常是可能的。

您应该从阅读手册开始:。Oracle手册页面包含许多好的示例,让您了解如果值为不正确?如果要防止无效数据进入数据库,最好使用
检查
约束。如果要检查某些顺序中的某些字符等,请查看正则表达式:您应该从阅读手册开始:。Oracle手册页面包含了许多好的示例,让您了解应该使用哪些规则如果值不正确,会发生什么情况?如果要防止无效数据进入数据库,最好使用
检查
约束。如果要检查某些顺序中的某些字符等,请查看正则表达式:谢谢。我已经准备好了..但检查数字时出错..:new.value