暂无图片
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


请输入正文
提交
相关推荐
Oracle 在四五亿的数据表里面,只取几条数据,怎么让查询变得更快?
回答 2
已采纳
查询的条件要有索引。如果是分区表,可能会走分区扫描,速度会有所提高。另外,磁盘IO、内存和cpu也会影响查询速度。还有就是可以考虑把历史数据归档,减少表中的数据量。这么大的数据量,如果查询的条件没有建
oracle 逻辑读 读的是哪部分内容?
回答 2
已采纳
我理解逻辑读就是buffercache里的块数据,因为这个属于整个读的数据里的大头,至于说librarycache里的数据在sql执行的过程中还是小部分。
Windows2008R2操作系统使用PL/SQL Dev11和instantclient_12_2连接AL32UTF8编码11.2.0.4数据库,where条件使用中文进行过滤,没有结果返回
回答 1
1、把sql拷贝到服务器上sqlplus执行,如果也有问题,那就是sql中的字符非UTF82、检查数据库字符集,确保数据库字符集和查询sql的编码一致。3、更换其它工具测试,排除PL/SQL软件的问题
Oracle中有没有查询近期慢sql的方式?
回答 4
已采纳
一、查询执行最慢的sqlselectfrom(selectsa.SQLTEXT,sa.SQLFULLTEXT,sa.EXECUTIONS"执行次数",round(sa.ELAPSEDTIME/1000
安装oracle dg,是不是可以在11g的基础上进行配置主从?
回答 1
已采纳
11g可以搭建DG的呀,这个没问题。
SQLPLUS 针对 DATE/TIMESTAMP类型如何设置column format
回答 5
已采纳
我都是这么干:
在RAC环境下还原oracle数据库是不是只需要在其中一个实例下还原?
回答 1
已采纳
是的,因为RAC架构,实例与是数据库是多对一关系。还原数据库就是还原各实例共享的数据文件、控制文件、spfile等
oracle :用to_number函数将日期转为数字,报无效数字,日期类型为varchar2,有什么办法可以解决?
回答 4
已采纳
SQL>createtabletest.test1(itimevarchar2(30));Tablecreated.SQL>insertintotest.test1values('2022
oracle JDBC驱动oci和thin区别
回答 2
已采纳
thin底层是通过tcp/ip协议实现的。oci是通过调用oci客户端动态库实现的。ocijdbc使用之前必须要安装oci客户端,所以我们通常会选择thin驱动来连接oracle数据库。理论上ocij
各位老师请教个问题。 ORA-01686: 最大文件数 (1023) 对于表空间 Data 已达到咋解决呀?修改 db_files不管用了
回答 1
已采纳
1023个要是都达到32G的数据文件上限了就只能新建表空间做数据迁移了。要是1023个数据文件还有没达到32g的,可以resize32767M;alterdatabasedatafile100resi