是不是要在 insert into之后,加一句:
COMMIT;
COMMIT;
解决方案 »
- oracle 对一个方案更换表空间有什么风险
- 先建库(data1),后新建登录账号(user2010)怎么设置可以让后建的账号user2010登录data1
- Oracle ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- 怎么在oracle中一起查询出本月值和本月值环比啊
- 如何得到排序后查询结果的前三条
- 这个过程编译通过,但是执行报如下错,为什么?
- 新手提问. 下面的语句中请问怎么用 EXIST 来替换IN ?
- oracle查询缺失数据
- Oracle9i有多少个版本?我见怎么有三碟也有起碟的?我安装七碟版时对照DOC目录里的安装说明安装的,但复制完了却连接不上数据库,安装失
- 用管道怎么通知某个存储过程终止,自己写了一个总是通知不到,求教
- 关于orecal中得触发器的问题!!!
- 关于触发器,大侠们看如何解决。
before insert on qianggege
for each row
begin
update qianggege2
set code=:new.code,name=:new.name;
end tianjia;
before insert on qianggege
for each row
begin
update qianggege2
set code=:new.code,name=:new.name;
end tianjia;
create sequence SEQ_XT_LOG
minvalue 1
maxvalue 9999999999999999999999999999
start with 1062
increment by 1
cache 20
cycle;
下面的触发器的作用是:任何时候表中插入或更新了行, 当前的用户名和时间都记录入行中. 并且它保证给出了雇员名称并且薪水是一个正数. CREATE TABLE emp (
empname text,
salary integer,
last_date timestamp,
last_user text
);CREATE FUNCTION emp_stamp () RETURNS OPAQUE AS '
BEGIN
-- 检查是否给出了 empname 和 salary
IF NEW.empname ISNULL THEN
RAISE EXCEPTION ''empname cannot be NULL value'';
END IF;
IF NEW.salary ISNULL THEN
RAISE EXCEPTION ''% cannot have NULL salary'', NEW.empname;
END IF; -- 我们必须付帐给谁?
IF NEW.salary < 0 THEN
RAISE EXCEPTION ''% cannot have a negative salary'', NEW.empname;
END IF; -- 记住何时何人的薪水被修改了
NEW.last_date := ''now'';
NEW.last_user := current_user;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW EXECUTE PROCEDURE emp_stamp();