使用 Merge Into 进行数据表的增量更新
特点:如果数据存在则更新,如果不存在则插入
示例:北斗渔船位置的实时数据表
1 | MERGE INTO A_DATA T1 |
SQL 错误: ORA-00001: 违反唯一约束条件 (SYSTEM.SYS_C0010160)
- 00000 - “unique constraint (%s.%s) violated”
原因:在select语句中的AS部分全部是取值于已存在记录的值,在id相同并执行update时,相当于更新一条完全相同的语句,即便是各个值没有违反唯一性约束,此时也会报: ORA-00001错误,不要全都一样就可以了;
在Java中使用Oracle的MERGE INTO语句时,老师报错:sql语句未正常结束,但在Navcat中完全正常
解决:Navcat中执行时语句的最后有个分号;但在Java中prepareStatement构造时,要去掉这个分号!!!!
连接错误:no listener、The Network Adapter could not establish the connection
1.打开SQL Developer查看本地SYSTEM(例子)是否能连接(密码:ttzzlll)
如不行(报adapter错误等等):
查看Oracle服务启动正常否:
如果未启动,则右键属性,转登录栏,使用账号密码重新登录,之后即可启动
上述完成,看是否可以本地连接,如果仍不行:
执行 lsnrctl start + lsnrctl status 看信息正常否
正常,则打开oracle安装目录下:oracle\product\12.1.0\dbhome_1\network\admin\listener.ora
打开listener.ora,找到最下方LINSTENER=(…)
修改HOST = 主机名(主机名可我的电脑右键属性查看)
保存,之后cmd下:
lsnrctl stop
lsnrctl start
lsnrctl status
有一定的延迟,在客户机上连接,此时OK!!!!
<< 更多精彩尽在『程序萌部落』>>
<< https://www.cxmoe.com >>
😒 留下您对该文章的评价 😄