2025年create table as select - from mysql_达梦数据库建表语句

create table as select - from mysql_达梦数据库建表语句创建测试表 test 建表语句如下 表 1 create table test id int identity 1 1 primary key numid int unique name varchar 20 not null school varchar 20 addrid int foreign key addrid references test1 id 表 2

创建测试表test

建表语句如下:

表1:

create table test(

id int identity(1,1) primary key,

numid int unique,

name varchar(20) not null,

school varchar(20),

addrid int,

foreign key(addrid) references test1(id));

表2:

create table test1(

id int not null primary key,

name varchar(20)

);

查看表结构:

SELECT TABLEDEF(‘SYSDBA’,’TEST’);

2、create table as方式建表与test相同表结构。

创建表:

Create table test1as as select * from test1;

Create table testas as select * from test;

查看表结构:

SELECT TABLEDEF(‘SYSDBA’,’TESTAS’);

SELECT TABLEDEF(‘SYSDBA’,’TEST1AS’);

3、修改参数

2.218版本:支持CTAB_SEL_WITH_CONS=1,2,外键盘始终无法复制。

如果用户通过单表的全表查询进行建表操作,则可以通过将 INI 参 数 CTAB_SEL_WITH_CONS 置为 1 进行原始表上约束的拷贝,列上能拷贝的约束包括默认值属 性、自增属性、非空属性以及加密属性,表上能拷贝的约束包括唯一约束、PK 约束以及 CHECK 约束。CTAB_SEL_WITH_CONS

sp_set_para_value(1,’CTAB_SEL_WITH_CONS’,1);

sp_set_para_value(1,’CTAB_SEL_WITH_CONS’,2);

114版本:CTAB_SEL_WITH_CONS

查询:

select PARA_NAME,PARA_VALUE,MIN_VALUE,MAX_VALUE,DEFAULT_VALUE,FILE_VALUE from v$dm_ini where PARA_NAME=’CTAB_SEL_WITH_CONS’;

创建测试表及create table as 方式:

Create table test3 as select * from test; –建表

SELECT TABLEDEF(‘SYSDBA’,’TEST2′); –查看建表语句

修改参数:

sp_set_para_value(1,’CTAB_SEL_WITH_CONS’,1);

sp_set_para_value(1,’CTAB_SEL_WITH_CONS’,2);

再看看原表

4、总结

create table as select * 的方式新表主键定义失效,包含主键,唯一,外键,check约束,分区,索引以及列的默认值不会带到新表。

通过sp_set_para_value 动态参数修改后,除了以下可以复制外,外键始终都无法复制。

编程小号
上一篇 2025-02-20 13:57
下一篇 2025-02-15 20:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/110927.html