问题:oracle触发器无效且未通过重新验证;结果:触发器里面没有加分号(;)
oracle无效且未通过重新验证
代码如下:
--创建中国地图表 create table china_address ( id number not null primary key , address_name varchar2(30) not null , parent_address_id number , foreign key (parent_address_id) references china_address(id) ); --创建中国地图序列 create sequence china_address_sequ minvalue 1 maxvalue 10000 start with 1 increment by 1 nocycle cache 5; --创建中国地图主键自增长触发器 create trigger china_address_increase_tr before insert on china_address for each row begin select china_address_sequ.nextval into :new.id from dual end china_address_increase_tr; |
修改如下:
CREATE
OR
REPLACE
TRIGGER
CHINA_ADDRESS_INCREASE_TR BEFORE
INSERT
ON
CHINA_ADDRESS
FOR
EACH ROW
BEGIN
SELECT
CHINA_ADDRESS_SEQU.NEXTVAL
INTO
:NEW.ID
FROM
DUAL;
END
CHINA_ADDRESS_INCREASE_TR;
SELECT CHINA_ADDRESS_SEQU.NEXTVAL INTO:NEW.ID FROM DUAL
后面少了个符号";"
PL/SQL认为语句后面带有一个;才作为一个语句的结束
此外,不建议使用触发器做这个事情,不如使用
INSERT INTO china_address VALUES(CHINA_ADDRESS_SEQU.NEXTVAL,'sd',1);
更健壮.
问题:oracle触发器无效且未通过重新验证;结果:触发器里面没有加分号(;)的更多相关文章
- ORA -04098 触发器无效且未通过重新验证
转自:https://blog.csdn.net/m15188153014/article/details/53080187 ORACLE 菜鸟,犯了一个低级错误,用PowerDesigner的SQL ...
- 触发器 'SA.U_USER_INFO_TRG' 无效且未通过重新验证--Oracle序列
程序开发时报错:触发器 'SA.U_USER_INFO_TRG' 无效且未通过重新验证打开触发器的定义,执行其中的语句,发现序列 U_USER_INFO_SEQ 未定义.什么是序列呢?序列相当于sql ...
- DbVisualizer:Oracle触发器,解决ORA-04098: 触发器 'USER.DECTUSERTEST_TRI' 无效且未通过重新验证
我没有用orcal的管理工具,而是用的DbVisualizer 9.5.2,管理数据库. 场景:需要在oracle里面实在自增字段,在网上一搜一堆文档,然后自己就找了一段自己写如下: drop tab ...
- Oracle:新增用户登录提示“ORA-04098:触发器‘GD.ON_LOGON_TRIGGER’无效且未通过重新验证”
接着上一篇创建一个只有查看权限的用户,在测试环境,新建账号后尝试登录,提示如下: 1.看提示是base库的触发器有问题了,所以先定位到这个触发器 SELECT * FROM DBA_OBJECTS W ...
- Oracle 参数化更新数据时报错:Oracle ORA-01722: 无效数字
报错:Oracle ORA-01722: 无效数字 看了一篇博客,据说是参数与列名不能一致,改过之后还是报一样的错误:Oracle ORA-01722: 无效数字 ,后来试了一下,不是参数名必须不一样 ...
- oracle 报“无效数字”异常和“ORA-01830: 日期格式图片在转换整个输入字符串之前结束”
1.问题1 执行下列SQL: sql = "select count(1) as totle from vhl_model_data a where a.OBTAIN_CREATE_TIME ...
- 安装wls报(主清单位置 "/u01/app/oracle/inventory" 无效 (无法读取/写入/执行))
安装出现的错误: [weblogic@localhost ~]$ java -jar fmw_12.1.3.0.0_wls.jar 启动程序日志文件为/tmp/OraInstall2019-07-31 ...
- Oracle数据库编程:使用PL/SQL编写触发器
8.使用PL/SQL编写触发器: 触发器存放在数据缓冲区中. 触发器加序列能够实现自动增长. 在触发器中不能使用connit和rollback. DML触发器 ...
- (4.30)全面了解触发器:DML、DDL、LOGON触发器
DML.DDL.LOGON触发器 转自:https://www.cnblogs.com/seusoftware/p/9120632.html 触发器可以理解为由特定事件触发的存储过程, 和存储过程.函 ...
随机推荐
- C中的指针和字符串
程序 #include<stdio.h>int main(void){ char *mesg="Don't be a fool!"; char *copy; copy= ...
- 电影_Z
1. 西施叨叨叨 西施叨叨叨 2015 第21期 : <<指环王>>系列, <<冰与火之歌>>系列(权力的游戏 将正统史诗奇幻剧搬在电视网上的首部电视剧 ...
- gbk编码汉字转换成对应的十进制十六进制的值
http://www.mytju.com/classcode/tools/urlencode_gb2312.asp
- python 实现一个TwoSum的例子
今天无意中看到一个题目,也不是很难,就想着用python实现以下: 题目是数组中的两个数相加等于输入的一个target,然后输出数组的下标. 比如: [1,2,3,4,5,6] target=7 返 ...
- xftp5+xshell5工具安装包分享
身为开发人员,常常为这两个工具安装包找不到资源为难!尴尬了... 这次专门写篇博客,记录资源,并分享给大家. 上链接: 链接:https://pan.baidu.com/s/1mRNxHhr7F2Q_ ...
- 常用服务搭建(nfs/ftp/samba)
一. NFS1. NFS简介NFS全称是network file systemNFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件. 假 ...
- MySQL 添加、查看字段注释
语法: 创建表时的COMMENT内容,要查看这些内容,使用命令: show full fields from '表名称'; 查看tb_usr表字段注释: 创建新表的脚本中, 可在字段定义脚本中添加co ...
- file_put_contents();
file_put_contents(); 用于获取文件中的内容,可以填写网址,但是需要以http://开头
- UVA - 1603 Square Destroyer (DLX可重复覆盖+IDA*)
题目链接 给你一个n*n的由火柴组成的正方形网格,从中预先拿掉一些火柴,问至少还需要拿掉多少火柴才能破坏掉所有的正方形. 看到这道题,我第一反应就是——把每根火柴和它能破坏掉的正方形连边,不就是个裸的 ...
- 小组项目需求——NABCD
关于项目微食堂的NABCD: N(need): 就我自己而言,每天在上午三四节课时就会想中午吃什么.而且大部分的课在二教,离食堂较远.可能会面临“抢不到饭”的问题.首先不知道去哪吃.吃什么,尤其在时间 ...