17,381
社区成员




--commit在触发器外,不是触发器一部分,没问题的,不过是多余的
CREATE OR REPLACE TRIGGER trigger_NewStudent
AFTER INSERT ON t_welcome_student
FOR EACH ROW --如果是行级触发器加上这一行,否则为语句级触发器
BEGIN
--如果引用t_welcome_student表的当前字段值,加上:new.
INSERT INTO t_xsjbxx_jbxx
(xh,
xm,
xznj,
sfbs,
sfzjlxm,
sfzjh,
xbdm,
yxsh,
zydm,
xsbh,
sfzj,
sfzx,
xslbdm)
SELECT :new.CID,
:new.NAME,
:new.GRADE,
'0',
'01',
:new.IDCARD,
(CASE :new.sexname
WHEN '男' THEN
'1'
ELSE
'2'
END),
:new.deptcode,
:new.specid,
(dbms_random.string('l', 8) || '-8c45-11e0-8a9a-67da650471f5'),
'01',
'01',
(CASE :new.studyyears
WHEN '4' THEN
'01'
ELSE
'02'
END)
FROM t_welcome_student
WHERE :new.CID NOT IN (SELECT xh FROM t_xsjbxx_jbxx);
dbms_output.put_line('4'); --这是输出'4'字符串应该是单引号,语句结束少了分号
END trigger_NewStudent;