达梦数据库一个用户多个模式,如何设置默认模式

 时间:2026-02-15 03:18:18

1、在达梦数据库中创建用户后就会默认生成一个对应的模式。比如我们创建的TEST用户,对应产生一个TEST的模式,在该模式中就会包括表、视图、触发器等对象信息。

达梦数据库一个用户多个模式,如何设置默认模式

2、此时我们在TEST用户中心创建一个模式B

create SCHEMA B AUTHORIZATION TEST;

commit;

达梦数据库一个用户多个模式,如何设置默认模式

3、创建后我们刷新模式后可以看到新创建的模式B

达梦数据库一个用户多个模式,如何设置默认模式

4、select * from SYS.ALL_OBJECTS where ALL_OBJECTS.OWNER='TEST' 

AND ALL_OBJECTS.OBJECT_TYPE='SCH';

可以使用该命令查看TEST用户的所有模式,可以看到有B模式和TEST模式两个。

达梦数据库一个用户多个模式,如何设置默认模式

5、在B模式中创建一个新表tables表

达梦数据库一个用户多个模式,如何设置默认模式

6、此时如果查询tables表,命令:SELECT * FROM TABLES;

就会报错:

第1 行附近出现错误[-2106]:

无效的表或视图名[TABLES]

达梦数据库一个用户多个模式,如何设置默认模式

1、可以看到,原因是因为默认用户查询的模式就是该用户自己创建的与其一致的模式中的内容。

我们如果带上模式名去查询就没有问题,比如:

SELECT * FROM B.TABLES;

达梦数据库一个用户多个模式,如何设置默认模式

2、那么这种情况如何不带模式名查询呢?

我们可以使用命令:set SCHEMA B;

设置B为当前的默认模式

达梦数据库一个用户多个模式,如何设置默认模式

3、然后直接查询:

SELECT * FROM TABLES;

可以看到可以直接查到结果。

达梦数据库一个用户多个模式,如何设置默认模式

4、但是如果查TEST模式的话就需要带上模式名了,否则同样也会报错。

达梦数据库一个用户多个模式,如何设置默认模式

1、对于一个用户有多种模式的情况下,如果不想带模式名去查询,可以使用命令:set schma 模式名的方法,设置当前默认的模式名。但需要注意的是,此方式是临时会话生效。

  • 如何关闭我的电脑中的WPS网盘?
  • Windows10如何更改dcom属性
  • win7 64位VMware svga问题解决方法之一
  • 使用Notepad++的宏来自动完成重复编辑操作
  • Windows10系统关闭或开启硬盘写入缓存的方法
  • 热门搜索
    上海旅游景点 旅游的好处 开封旅游攻略 新疆旅游线路 文化旅游 苏州旅游景点大全 泰国旅游攻略 景德镇旅游 聊城旅游 河南旅游景点