当前位置:网站首页>达梦数据库修改字段信息采坑记
达梦数据库修改字段信息采坑记
2022-06-25 22:03:00 【白衣若尘】
1. 概述
- 目的:修改表空间中所有表的xxx字段的长度。
- 实现:通过SQL进行修改。
- 问题:导航栏 — 模式 — 表空间 — 表 — 右键查看表信息,字段长度没修改到。
- 工具:DM管理工具(达梦自带的数据库管理工具)。
2. 过程
2.1 问题出现
-- 通过SQL查出xx字段长度满足的要求的表,拼接出修改字段长度的SQL
SELECT 'ALTER TABLE ' || t.table_name || ' MODIFY xxx VARCHAR(1);' AS str
FROM user_tab_columns t
WHERE t.column_name='xxx' AND t.data_length > 1;
-- 执行拼接好的SQL,查看表属性,字段长度没改变。
2.2 刷新、事务提交尝试
刷新表、表空间、模式、连接都没有效果。 看来得出大招,重启工具;关闭工具提示事务未提交,难得是这个原因。 执行 COMMIT,还是不行(后面发现这个事务是查询语句的(╯︵╰))。
2.3 检查SQL
SQL没写对,陷入自我怀疑(我使用的是Oracle的SQL语句)。 只能看看达梦官方文档怎么说了。
-- 文档中的SQL 示例:
ALTER TABLE PRODUCTION.PRODUCT_REVIEW MODIFY NAME VARCHAR(8) ;
sql并没有什么问题。
2.4 验证是否导航栏的表信息没更新
- 通过最开始的查询SQL,发现字段长度不满足要求的数据已经没有了。
- 通过idea的database连接数据库,发现字段长度已经修改到了。
3. 总结
达梦的“DM管理工具”有坑。
直接在表属性中修改字段长度就都能改到;用SQL修改,导航栏那里就修改不到,但是实际是修改成功了的。
SQL修改后怎么更新 ,刷新是搞不定的。
4. 问题解决
SQL中没通过模式去获取表名(模式名.table_name)的原因,写上模式名称才会更新导航栏表属性中的字段信息( 虽然文档中的模式名是可选的,不写也可以)。
边栏推荐
- 第五章 习题(124、678、15、19、22)【微机原理】【习题】
- konva系列教程2:绘制图形
- String object (constant) pool
- Ad20 learning notes II
- debezium
- Use of xinchida ble 5.0 Low Power Bluetooth module (at command serial port transparent transmission) rsbrs02abr
- cookie、session、token
- B. Box Fitting-CodeCraft-21 and Codeforces Round #711 (Div. 2)
- 对卡巴斯基发现的一个将shellcode写入evenlog的植入物的复现
- My vscode
猜你喜欢

Leaky API interface practical development series (13): gooseneck cloud service php-api two-dimensional array parameter transfer solution

QComboBox下拉菜单中有分隔符Separator时的样式设置

Binary, hexadecimal, big end and small end

Blob

Kotlin null pointer bug

23class introduction

When are the three tools used for interface testing?

CSDN add on page Jump and off page specified paragraph jump

Reprint: detailed explanation of qtablewidget (style, right-click menu, header collapse, multiple selection, etc.)

hiberate实体类CURD、事务操作汇总
随机推荐
Bi-sql stored procedure (I)
Classic image segmentation network: UNET supports libtorch deployment reasoning [with code]
How to use drawing comparison function in CAD
二叉排序树
Xinchida nd04 nd04c nrf52832 (52810) ble module (low power Bluetooth communication module) at command test
UE4 学习记录一 创建角色,并控制其移动
分享一个OSGeo4W64下载好的库,基于qgis3.10的
实例:用C#.NET手把手教你做微信公众号开发(21)--使用微信支付线上收款:H5方式
Visual studio code create minimal web API (asp.net core)
Pointer strengthening and improvement
指针强化与提高
hiberate核心API/配置文件/一级缓存详解
Hbuilderx uses the gaude map to obtain the current location
BI-SQL丨存储过程(一)
Leetcode-1528- rearrange string - hash table - string
WordPress
28 rounds of interviews with 10 companies in two and a half years (including byte, pinduoduo, meituan, Didi...)
第五章 习题(124、678、15、19、22)【微机原理】【习题】
Audio basics and PCM to WAV
Share a downloaded osgeo4w64 Library Based on qgis3.10