一、查看当前连接的模式sql复制-- 方法1使用 USER 伪列 SELECT USER; -- 方法2查询系统函数 SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID());二、查看数据库中所有模式Schemasql复制-- 方法1查询系统表 SYSOBJECTS SELECT NAME FROM SYSOBJECTS WHERE TYPE$ SCH; -- 方法2查询 DBA_USERS 视图查看所有用户/模式 SELECT USERNAME FROM DBA_USERS; -- 方法3查询 ALL_USERS 视图 SELECT USERNAME FROM ALL_USERS;三、查看当前模式下的所有对象sql复制-- 查看当前模式下的所有表 SELECT TABLE_NAME FROM USER_TABLES; -- 查看所有对象表、视图、存储过程等 SELECT * FROM USER_OBJECTS; -- 查看模式信息详情 SELECT * FROM USER_SCHEMA_PRIVILEGES;四、切换模式sql复制-- 使用 SET SCHEMA 切换当前会话的模式 SET SCHEMA 模式名; -- 示例 SET SCHEMA DMHR;五、查看模式详细信息系统视图表格视图/表名说明查询内容SYSOBJECTS系统对象表所有模式、表、索引等对象DBA_USERS数据库用户视图所有用户信息对应模式ALL_USERS所有用户视图所有用户名USER_USERS当前用户信息当前连接用户的详细信息V$SESSIONS会话视图当前会话信息包含当前模式sql复制-- 查看当前会话的详细信息包含当前模式 SELECT SESS_ID, SQL_TEXT, SCH_NAME FROM V$SESSIONS WHERE SESS_ID SESSID();六、实用查询示例sql复制-- 1. 查看数据库中所有模式及其所有者 SELECT A.NAME AS 模式名, B.NAME AS 所有者 FROM SYSOBJECTS A LEFT JOIN SYSOBJECTS B ON A.PID B.ID WHERE A.TYPE$ SCH; -- 2. 查看当前用户可访问的所有模式 SELECT DISTINCT OWNER FROM ALL_OBJECTS; -- 3. 查看模式的创建时间和状态 SELECT USERNAME, CREATED, ACCOUNT_STATUS FROM DBA_USERS;关键概念说明模式Schema在达梦数据库中用户User和模式Schema是一一对应的关系。创建用户时会自动创建同名的模式。SYSOBJECTS系统表存储所有数据库对象的元数据TYPE$SCH表示模式对象。当前模式每个会话都有一个当前模式用于解析非限定名的数据库对象如直接写表名而不加模式前缀
达梦数据查看模式,达梦数据库sql 查询当前数据库下有哪些模式
一、查看当前连接的模式sql复制-- 方法1使用 USER 伪列 SELECT USER; -- 方法2查询系统函数 SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID());二、查看数据库中所有模式Schemasql复制-- 方法1查询系统表 SYSOBJECTS SELECT NAME FROM SYSOBJECTS WHERE TYPE$ SCH; -- 方法2查询 DBA_USERS 视图查看所有用户/模式 SELECT USERNAME FROM DBA_USERS; -- 方法3查询 ALL_USERS 视图 SELECT USERNAME FROM ALL_USERS;三、查看当前模式下的所有对象sql复制-- 查看当前模式下的所有表 SELECT TABLE_NAME FROM USER_TABLES; -- 查看所有对象表、视图、存储过程等 SELECT * FROM USER_OBJECTS; -- 查看模式信息详情 SELECT * FROM USER_SCHEMA_PRIVILEGES;四、切换模式sql复制-- 使用 SET SCHEMA 切换当前会话的模式 SET SCHEMA 模式名; -- 示例 SET SCHEMA DMHR;五、查看模式详细信息系统视图表格视图/表名说明查询内容SYSOBJECTS系统对象表所有模式、表、索引等对象DBA_USERS数据库用户视图所有用户信息对应模式ALL_USERS所有用户视图所有用户名USER_USERS当前用户信息当前连接用户的详细信息V$SESSIONS会话视图当前会话信息包含当前模式sql复制-- 查看当前会话的详细信息包含当前模式 SELECT SESS_ID, SQL_TEXT, SCH_NAME FROM V$SESSIONS WHERE SESS_ID SESSID();六、实用查询示例sql复制-- 1. 查看数据库中所有模式及其所有者 SELECT A.NAME AS 模式名, B.NAME AS 所有者 FROM SYSOBJECTS A LEFT JOIN SYSOBJECTS B ON A.PID B.ID WHERE A.TYPE$ SCH; -- 2. 查看当前用户可访问的所有模式 SELECT DISTINCT OWNER FROM ALL_OBJECTS; -- 3. 查看模式的创建时间和状态 SELECT USERNAME, CREATED, ACCOUNT_STATUS FROM DBA_USERS;关键概念说明模式Schema在达梦数据库中用户User和模式Schema是一一对应的关系。创建用户时会自动创建同名的模式。SYSOBJECTS系统表存储所有数据库对象的元数据TYPE$SCH表示模式对象。当前模式每个会话都有一个当前模式用于解析非限定名的数据库对象如直接写表名而不加模式前缀