“sys是Oracle数据库中权限最高的帐号,具有create database的权限,而system没有这个权限,sys的角色是sysdba,system的角色是sysoper。其余就是他们两个用户共有的权限了:startup/shutdown/dba两个用户都是可以管理的。
平时用system来管理数据库就可以了。这个用户的权限对于普通的数据库管理来说已经足够权限了”
上述一段话使我终于解决了最终的问题,使用plsql登陆上去,建立序列触发器,完成。
简述建立过程
首先建表,主键为number还是varchar都可以,测试过了
建立序列:
----创建序列
create sequence auto_inc
increment by 1
start with 1
nomaxvalue
nominvalue
nocache创建触发器:
create or replace trigger AUTO_INCREASE_ID
before insert on STU
for each row
begin
select auto_inc.nextval into :new.UUID from dual;
end;上面的uuid是表中的一个列
问题:
如果创建过程中遇到什么“索引中丢失 IN 或 OUT 参数:”等一些列莫名其妙的错误,记得一定要在dos或比较专业的环境下刷sql,远离可视化工具。
如果明明创建好了但是还是报什么“触发器无效且未通过重新验证”,认真检查一下他所说的是哪个schema的触发器,有可能是调用的别的,执行sq时,系统用户的触发器等的优先级要高于当前自定义用户,创建的时候由于各种角色的切换可能会导致建立的触发器或者序列不在同一个用户下,找到后干掉,免得影响当前用户的使用
额,搞了一下午,终于明白了!虽然学了一年oracle看来都还给老师了,还得复习啊!
本文详细介绍了如何使用PL/SQL在Oracle数据库中建立序列触发器的过程,包括建表、创建序列和触发器的方法。同时,文中解决了一些常见的创建过程中遇到的错误提示,并提供了应对策略。最后,通过实例演示了触发器的有效建立,帮助读者理解并实践数据库管理的核心技能。
1023

被折叠的 条评论
为什么被折叠?



