Plsql 在pl/sql中创建触发器的步骤

Plsql 在pl/sql中创建触发器的步骤,plsql,Plsql,我有一个问题,我想创建一个检查Pincode编号的触发器 是否正好是数字的6 请告诉我一个详细的答案。我想你的问题中是指一个字符列,如果是这样的话-你可以在没有触发器的情况下实现这一点,但使用如下检查约束: create table test_1 ( pincode varchar2(20) constraint test_1$chk$id check (ltrim(pincode, '0123456789') is null and length(pincode)= 6) ); 运行这些

我有一个问题,我想创建一个检查Pincode编号的触发器 是否正好是数字的6


请告诉我一个详细的答案。

我想你的问题中是指一个字符列,如果是这样的话-你可以在没有触发器的情况下实现这一点,但使用如下检查约束:

create table test_1
(
pincode varchar2(20)
  constraint test_1$chk$id check (ltrim(pincode, '0123456789') is null and length(pincode)= 6)
);
运行这些插入:

insert into test_1 (pincode) values ('45sdgf65');
insert into test_1 (pincode) values ('4565');
将导致以下错误:

ORA-02290: check constraint (ANDREW.TEST_1$CHK$ID) violated
但这一个还行:

insert into test_1 (pincode) values ('034565');

我想你的问题是指一个字符列,如果是这样的话-你可以在没有触发器的情况下实现这一点,但使用如下检查约束:

create table test_1
(
pincode varchar2(20)
  constraint test_1$chk$id check (ltrim(pincode, '0123456789') is null and length(pincode)= 6)
);
运行这些插入:

insert into test_1 (pincode) values ('45sdgf65');
insert into test_1 (pincode) values ('4565');
将导致以下错误:

ORA-02290: check constraint (ANDREW.TEST_1$CHK$ID) violated
但这一个还行:

insert into test_1 (pincode) values ('034565');

请先告诉我们一个详细的问题!pincode列的数据类型是什么?请先告诉我们一个详细问题!pincode列的数据类型是什么?