达梦数据库disql常见问题一: 执行含有&符号数据的插入(insert into)命令

一、前言:

从注册CSDN账号到现在为止,遇到问题一直都是参考各位大神的文章,解决了很多问题,今天我也来分享自己的第一篇文章。

二、问题描述:

用shell脚本执行disql,并使用 如下语句执行初始化数据库脚本,建表空间,用户以及建表都没有问题,唯独在insert插入数据的时候,数据进不去,而且会造成表锁。

start xxx.sql

如果将建库建表及插入数据sql脚本,CV放到dbeaver内执行就没有问题,让我深度怀疑我的shell自动化脚本有问题

1.解决方法:

在经过一些列的排查后,发现用disql登陆达梦数据库,用start命令执行sql脚本,若脚本内插入的数据带 & 字符,例:&A ,会将A当成变量,一直等待输入变量A的值,所以在脚本中是无法批量执行插入语句的,若insert语句没有执行完,再执行另外的插入语句,会造成表锁问题

方法一
sql 命令行中执行 set define off; 关闭替代标记功能后,重新插入数据成功。

方法二
通过使用转义符取消掉 & 符号的特殊含义,具体如下:全文替换:& 替换为'||'&'||',然后再导入就可以了。

2.表锁释放命令

        1).查询对应库所有的表锁数据

select * from v$sessions where trx_id in (select trx_id from V$LOCK ) and user_name like '%库名%';

        2).找到对应的SESS_ID,进行替换

sp_close_session(SESS_ID);

三、最后

第一次写分享心得,有很多不足之处,望大家多多包涵

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
达梦数据库中,使用INSERT INTO语句插入数据时,需要注意以下几点。首先,INSERT INTO语句必须指明列名,例如:INSERT INTO table_name (column1, column2) VALUES (value1, value2)。这样可以确保插入数据正确对应到相应的列中。其次,在使用disql登陆达梦数据库时,如果在执行SQL脚本时遇到插入数据包含 "&" 字符,例如 "&A",系统会将其当作变量,并等待输入变量A的值,这将导致无法批量执行插入语句。因此,需要注意避免在插入语句中出现 "&" 字符。此外,在存在自增列表的表中插入数据时,需要先将IDENTITY_INSERT设置为ON。在达梦数据库中,每个会话连接只允许一个表的IDENTITY_INSERT属性设置为ON,当新的表的IDENTITY_INSERT属性设置为ON时,之前已经设置为ON的表会自动还原为OFF。所以,在每次执行INSERT INTO语句之前,需要先执行一次SET IDENTITY_INSERT ON的语句来设置IDENTITY_INSERT属性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [达梦数据库常用SQL之生成启用自增列表插入功能及insert插入语句](https://blog.csdn.net/qq_35273918/article/details/125990719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [达梦数据库disql常见问题一: 执行含有&符号数据插入(insert into)命令](https://blog.csdn.net/weixin_41859759/article/details/131230155)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值