what is mean?我编译是可以通过的
解决方案 »
- oralce查询数据的问题
- oracle 10g 打不开控制台
- 在eclipse中连接oracle怎么老是报“The Network Adapter could not establish the connection”
- 急:关于bulk collect转换类型取值
- 请教一下orcale、mysql的多线程编程锁问题
- 如何监测job的运行情况
- 我想把繁體下備份的oracle db file exp到簡體下,出現了錯誤,請問怎麼樣才可以解
- 请高手帮忙
- 怎样修改字段类型????
- 先装oracle9i客户端了,再装oracle9i database,需要卸载吗?
- 在一个表上建立触发器可以在触发器里再更新这个表吗?<在线>
- 请问删除表中重复记录的触发器怎样编写?
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();