达梦7数据库修改主键类型

达梦默认情况下主键为聚簇主键,设置主键之后,主键类型无法直接修改。

1.需先新增临时索引。

2.如果主键有自增,要先删除自增属性(文章后续没有添加此部分,根据实际情况选择)

ALTER TABLE SYS_USER DROP IDENTITY;

单表修改主键类型

######### 新增临时索引

CREATE CLUSTER INDEX T_TEAM_DISPATCH_TASK_DDDXXX ON T_TEAM_DISPATCH_TASK(AQJCR);

COMMIT;



### 先执行上一条命令,执行后 constraint 名称会发生变化

######### 删除主键约束

ALTER TABLE T_TEAM_DISPATCH_TASK DROP constraint T_TEAM_DISPATCH_TASK_PK ;

######### 修改主键类型

ALTER TABLE T_TEAM_DISPATCH_TASK MODIFY ( ID INT ) ;

######### 删除临时索引

DROP INDEX T_TEAM_DISPATCH_TASK_DDDXXX ;

######### 添加主键约束

ALTER TABLE T_TEAM_DISPATCH_TASK ADD CONSTRAINT T_TEAM_DISPATCH_TASK_PK  PRIMARY KEY (ID);

COMMIT;


 

多表批量修改主键类型

添加索引

WITH A AS (SELECT TABLE_NAME, MIN(COLUMN_NAME) COLUMN_NAME

           FROM USER_TAB_COLUMNS

           WHERE COLUMN_NAME <> 'ID'

           AND TABLE_NAME NOT IN('T_TEAM_ID','T_TEAM_FKPT_RZY','T_TEAM_FKPT_ZJH')

           GROUP BY TABLE_NAME)

select 'CREATE CLUSTER INDEX ' || A.TABLE_NAME || '_DDDXXX' || ' ON ' || A.TABLE_NAME || '(' || COLUMN_NAME ||

       ');'

FROM A

UNION

SELECT 'COMMIT;' FROM DUAL;


修改主键

WITH A AS (SELECT TABLE_NAME, MIN(COLUMN_NAME) COLUMN_NAME

           FROM USER_TAB_COLUMNS

           WHERE COLUMN_NAME <> 'ID'

             AND TABLE_NAME NOT IN ('T_TEAM_ID', 'T_TEAM_FKPT_RZY', 'T_TEAM_FKPT_ZJH')

           GROUP BY TABLE_NAME)

select 'ALTER TABLE ' || A.TABLE_NAME || ' DROP constraint ' || C.CONSTRAINT_NAME || ' ;'

FROM A

         LEFT JOIN (select CONSTRAINT_NAME, TABLE_NAME from USER_CONSTRAINTS CONS WHERE CONS.CONSTRAINT_TYPE = 'P') C

                   ON C.TABLE_NAME = A.TABLE_NAME

UNION ALL

select 'ALTER TABLE ' || A.TABLE_NAME || ' MODIFY ( ID INT ) ;'

-- select 'ALTER TABLE ' || A.TABLE_NAME || ' MODIFY ( ID VARCHAR(50) ) ;'

FROM A

UNION ALL

select 'DROP INDEX ' || A.TABLE_NAME || '_DDDXXX ;'

FROM A

UNION ALL

select 'ALTER TABLE ' || A.TABLE_NAME || ' ADD CONSTRAINT ' || A.TABLE_NAME || '_PK  PRIMARY KEY (ID);'

FROM A

UNION

SELECT 'COMMIT;'

FROM DUAL;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mybatis-plus是MyBatis增强工具包,用于简化CRUD操作。该工具包为MyBatis提供了一些高效,有用,即用的功能,使用它可以有效地节省您的开发时间。Mybatis-plus特征与MyBatis完全兼容 启动时自动配置 开箱即用的用于操作数据库的界面 强大而灵活的条件包装器 生成的多种策略 Lambda样式的API 全能和高度可定制的代码生成器 自动分页操作 SQL注入防御 支持活动记录 支持可插拔的自定义界面 内置许多有用的扩展Mybatis-plus功能1、单表CURD(简单 + 批量)操作,自动完成(支持 like 比较等查询)。 2、分页插件,Count查询自动或自定义SQL查询。 3、Spring根据不同环境加载不同配置支持(支持typeAliasesPackage通配符扫描)。 【自动生成Entity Mapper Service文件】Mybatis-plus(Mybatis增强工具包) v3.3.2更新日志分页参数提取,单元测试用例修复 数据库代码生成器表过滤支持 微软数据库代码生成器表过滤支持 修复代码生成器属性字段规则错误 SelectById 支持自定义方法名 修复分页插件获取数据库类型问题 Json转换器空值处理 bugfix(mybatis-plus-generator):SQL类型返回错误问题 调整未知方言异常,自动识别url转换小写匹配. fix: 初始化TableInfo中遇到多个字段有@TableId注解时未能抛出异常的问题 SuperController有Class参数的set方法 增加方法StrategyConfig.setSuperServiceImplClass(java.lang.Class<?>). 代码生成器命名策略调整. 扩展分页缓存key值计算. 去除方法推测,直接访问属性字段. 修正枚举处理器类型不匹配比较. 修改表前缀匹配方式 修改在Mybatis全局配置文件中设置分页插件参数不生效问题 修改在Mybatis全局配置文件中设置分页插件参数不生效问 修复PR未指定解析器的时候引发空指针 增加分页插件limit参数配置 修复指定superEntityClass重复生成父类字段问题 无的情况无需导入IdType与TableId包 调整生成BaseResultMap格式 支持lombok模式下选择是否进行链式set生成 修复解析器for update错误 过滤PG约束列(只留下约束) 增加生成器禁用模板生成 fix(kotlin): 修复动态表名BUG,最大努力替换表名 修复PG约束生成重复属性字段问题 fix(kotlin): 将LambdaUtils中缓存的key改为String 代码生成器增加数据库字处理接口 fix github/issues/2454 支持注解可继承 新增 AES 加密数据库用户名密码 优化方法入参泛型,支持更多类型 修复代码生成器开启移除is前缀生成实体缺少包导入 fixed github issues/2470Mybatis-plus截图
VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为VB/C#.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的代码基于OO、ADO.NET、分层架构、ORM,改进的抽象工厂设计模式及反射机制等。 目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM()、OleDb和Custom(自定义)类型数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于各种数据库,并支持自定义分页查询(Skip/Take)。同时也对LINQ的支持并提供轻量级简单日志组件的功能。 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否生成对应的数据库操作等,操作简单实用。 同时通过实体可快速实现数据库表的增删改查等操作,另外,所生成的操作数据库的代码,只需按生成的配置文件说明修改数据库连接,即可用于各种类型数据库的访问操作等,对应文件会自动解析,即一次生成可用于各种类型数据库的操作;且当表字段发生重大变化时再生成一次即可。所有数据库的操作默认以实体对应表的(可以是联合)为准,当然也可指定条件。 增加和更新合并为一个保存操作,由实体自己判断是增加还是更新,若你愿意也可以分开来做,实体也提供了对应的快捷方式等。更多的好处在你用过之后才会发现。工具同时提供帮助文档和大量的示例源码(如ECG.Demo等),用VS2005打开每个Demo文件解决方案文件(。sln)即可看到源代码,一些示例以对应数据库自带的示例库为例介绍的(如Oracle)。详见安装后文件和工具帮助。 下载地址 http://files.cnblogs.com/lxchutao/EntitysCodeGenerate.rar 或 http://www.cnblogs.com/lxchutao/archive/2011/06/01/2065977.html 附ORM技术交流QQ群:60873348

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值