oracle在表中加入年龄,使用oracle plsql触发器计算生日年龄并在表中插入年龄
时间: 2024-03-17 09:41:12 浏览: 39
SQL函数 根据出生日期精确计算年龄
好的,这个问题之前我们已经回答过了,以下是具体的步骤:
1. 创建一个表,包含生日和年龄两个字段。例如:
```
CREATE TABLE person (
id NUMBER,
name VARCHAR2(50),
birthday DATE,
age NUMBER
);
```
2. 创建一个PL/SQL函数,用于计算年龄。例如:
```
CREATE OR REPLACE FUNCTION calculate_age(
p_birthday IN DATE
)
RETURN NUMBER
IS
age NUMBER;
BEGIN
age := TRUNC(MONTHS_BETWEEN(SYSDATE, p_birthday) / 12);
RETURN age;
END;
```
3. 创建一个触发器,用于在插入或更新数据时自动计算年龄并插入到表中。例如:
```
CREATE OR REPLACE TRIGGER person_age_trigger
BEFORE INSERT OR UPDATE ON person
FOR EACH ROW
BEGIN
:NEW.age := calculate_age(:NEW.birthday);
END;
```
这样,每次向person表中插入或更新数据时,触发器会自动计算年龄并将其插入到age字段中。
阅读全文