暂无图片
Oracle创建触发器时需要特别注意什么问题?
我来答
分享
胡武
2023-04-13
Oracle创建触发器时需要特别注意什么问题?

Oracle创建触发器时需要特别注意什么问题?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新

在使用触发器时需要注意:对于相同的数据表、相同的事件只能创建一个触发器,比如为表account创建了一个BEFORE INSERT触发器那么如果为表account再次创建一个BEFORE INSERT触发器,Oracle将会报错,此时只能在表account上创建AFTER INSERT或才BEFORE UPDATE类型的触发器。灵活地运用触发器将为操作省去很多麻烦。

暂无图片 评论
暂无图片 有用 3
打赏 0
暂无图片
手机用户8737

建触发器可以使用Transact-SQL语句,也可以使用SQL Server管理平台。在创建触发器前,必须注意以下几点:
(1)CREATE TRIGGER 必须是批处理中的第一条语句,并且只能应用到一个表中。
(2)触发器只能在当前的数据库中创建,但可以引用当前数据库的外部对象。
(3)表的所有者具有创建触发器的默认权限,且不能将该权限转给其他用户。
(4)不能在临时表或系统表上创建触发器,触发器可以引用临时表但不能引用系统表。
(5)如果指定了触发器架构名称来限定触发器,则将以相同的方式限定表名称。
(6)如果一个表的外键包含对定义的DELETE/UPDATE操作的级联,则不能在该表上定义INSTEAD OF DELETE/UPDATE触发器。

暂无图片 评论
暂无图片 有用 1
打赏 0
超越无限D

在使用触发器时需要注意:对于相同的数据表、相同的事件只能创建一个触发器,比如为表account创建了一个BEFORE INSERT触发器那么如果为表account再次创建一个BEFORE INSERT触发器,Oracle将会报错,此时只能在表account上创建AFTER INSERT或才BEFORE UPDATE类型的触发器。灵活地运用触发器将为操作省去很多麻烦。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
截库后保留部分数据后怎么缩表空间大小,释放服务器磁盘空间
回答 3
已采纳
1查看表空间使用情况selecta.tablespacename,a.bytes/1024/1024“SumMB”,(a.bytesb.bytes)/1024/1024“usedMB”,b.bytes
Oracle 创建了一个按月自动分区的分区表并加了compress。但是数据并没有被压缩,有什么办法可以让自动分区的表数据自动压缩?
回答 1
createtabletestpart(IDNUMBER(20)notnull,REMARKVARCHAR2(1000),createtimeDATE)compressPARTITIONBYRANGE
临时表空间组删除后能恢复吗?
回答 2
已采纳
临时表空间组删除后不能恢复,所以在执行删除操作时必须慎重。删除临时表空间组后,临时表空间组中的文件并没有删除,因此,如果要彻底删除临时表空间组,需要先把临时表空间组中的临时表空间移除。
Oracle 数据库存在一个表1T,直接TRUNCATE ,再通过alter database datafile 4 resize 200m 语句,可以实现压缩表空间的实际物理大小吗?
回答 5
已采纳
可以做到收缩表空间物理文件
oracle 启动 报错 ORA-01105 ORA-01154
回答 1
在做同步吧?等它同步完成后再看看呢
Oracle中几亿表要复制到建了分区的新表, 有没有好方法提高执行速度?
回答 2
如果你9亿的数据是要放到一个空分区里,可以使用交换分区,语法altertable目标表exchangepartition目标空分区withtable源表;
ORA-01554 reason: no undo segment found with available slot
回答 4
好像是个数据库BUG,我看我的阻塞事件是“libcacheinterruptactionbyLCK”,疑似BUG30384121.我的库是12.2R2版本
查看AWR报告
回答 2
这种最好不要开并行了,数据量不大在单节点跑就行;都没有where过滤条件的sql还是建议分表;
请教一个问题,11g的dg,win和linux能做跨平台dg吗?
回答 2
跨平台dataguard墨天轮搜索
单步调试 package,报错
回答 3
MDSYS.SDOPOINTTYPE如果是MDSYS用户下的一个自定义TYPE,那么要看是否授予该TYPE相应权限给调试用户了。