达梦数据库常用语句

一、动态性能视图

1、查看服务器key有效期

sql 复制代码
select expired_date from v$license;

2、查看数据库版本信息

sql 复制代码
select * from v$version;

3、查看数据库信息

sql 复制代码
select * from V$DATABASE;

4、查看实例信息

csharp 复制代码
select * from v$instance;

5、查看数据库动态视图

csharp 复制代码
select * from V$DYNAMIC_TABLES;

6、查看数据库表空间

csharp 复制代码
select * from V$TABLESPACE;

7、查看数据库配置参数

sql 复制代码
select * from V$PARAMETER;

8、查看所有ini 参数和 dminit建库信息

csharp 复制代码
select  *  from V$DM_INI;

9、查看归档信息

csharp 复制代码
select * from V$DM_ARCH_INI;

10、查看日志信息

csharp 复制代码
select * from V$RLOG

11、显示活动连接的所有信息。

sql 复制代码
select * from V$CONNECT;

12、显示当前会话的具体信息

csharp 复制代码
select * from V$SESSIONS;

13、显示系统当前会话的一些状态统计信息

csharp 复制代码
select * from V$SESSION_SYS;

14、连接语句句柄表,用于记录 SESSION 上语句句柄的信息

csharp 复制代码
select * from V$OPEN_STMT;

15、显示当前会话历史的记录信息

csharp 复制代码
select * from V$SESSION_HISTORY;

16、显示当前会话所有上下文的名字空间、属性和值

csharp 复制代码
select * from V$CONTEXT;

17、记录当前会话上的相关统计信息

csharp 复制代码
select * from V$SESSION_STAT;

18、显示执行 SQL 的历史记录信息

当 INI 参数 ENABLE_MONITOR=1 时,显示执行 SQL 的历史记录信息;可以方便用户 经常使用的记录进行保存。

csharp 复制代码
select * from V$SQL_HISTORY

19、显示所有活动事务的信息

csharp 复制代码
select * from V$TRX;

20、显示事务等待信息。

csharp 复制代码
select * from V$TRXWAIT

21、显示当前事务可见的所有活动事务视图信息

csharp 复制代码
select * from V$TRX_VIEW;

22、显示活动的事务锁信息

csharp 复制代码
select * from V$LOCK;

23、记录死锁的历史信息

csharp 复制代码
select * from V$DEADLOCK_HISTORY;

二、plsql

1、创建序列

sql 复制代码
CREATE SEQUENCE "STUDENTS"."PSQU"
                          INCREMENT BY 1
                          START WITH 1
                          MAXVALUE 10000000
                          MINVALUE 1
                          NOCYCLE
                          NOCACHE
                          ORDER;

2、创建函数

1、生成随机字符串

sql 复制代码
create  or replace function randStr(n in int) 
return varchar as
name varchar;
result varchar:='';
begin
		for i in 1..n loop  
			name := char(convert(integer,rand()*100));
      result := concat(result,name);
		end loop;
		return result;
end;

2、生成随机日期函数

sql 复制代码
CREATE OR REPLACE FUNCTION myRandDate
/*函数参数(可选),格式为(<参数名称 参数类型(IN/OUT/INOUT) 数据类型>{, <参数名称 参数类型(IN/OUT/INOUT) 数据类型>})*/
(startYear IN int,endYear IN int)
/*返回 数据类型*/
RETURN timestamp
AS
    /*变量说明部分*/
    year INT;
    month int;
    day int;
    strDate varchar;
    result timestamp;
BEGIN
    year := DBMS_RANDOM.VALUE(startYear, endYear);
	month := DBMS_RANDOM.VALUE(1, 12);
    day := DBMS_RANDOM.VALUE(1, 28);
	strDate := concat(to_char(year),'-',to_char(month),'-',to_char(day));
	result := TO_DATE(strDate);
    return result;
END;

3、创建存储过程

批量插入数据

sql 复制代码
create or REPLACE PROCEDURE TAB_INSERT(NUM INT)
AS
CNT INT;
BEGIN
	SELECT MAX("userLogin"."userID") INTO CNT FROM "userLogin";
	IF CNT IS NULL THEN
	  CNT:=0;
	END IF;
	FOR I in 1..NUM 
	LOOP
		INSERT INTO "STUDENTS"."USERLOG" VALUES(PSQU.nextVal,CNT,RANDSTR(5000),myranddate(2018,2024));
		COMMIT;
	END LOOP;
END;

4、创建触发器

userLogin表中插入记录,对应的userLog表中也插入数据

sql 复制代码
CREATE OR REPLACE TRIGGER "STUDENTS"."T_InsertUserLogin"
AFTER INSERT
ON "STUDENTS"."userLogin"
FOR EACH ROW
WHEN (1 = 1 /* 根据实际情况填写, 可选 */)
BEGIN
    /*触发器体*/
    INSERT INTO USERLOG("ID","USERID","CONTENT","LOGDATE") VALUES 
    (PSQU.nextVal,:new."userID",randstr(1000),SYSDATE);

END;
相关推荐
蜡笔小炘21 分钟前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长24 分钟前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚1 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设1 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
麦聪聊数据2 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_790300962 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919102 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓2 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
m0_466525292 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
爱学习的阿磊3 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python