达梦数据库常用语句

一、动态性能视图

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;
相关推荐
数据库小学妹11 分钟前
数据库选型实战:从数据类型到TCO成本,五维决策框架+九款产品横评
数据库·信创·国产数据库·数据库选型·oracle迁移
神龙天舞20011 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
丙氨酸長鏈2 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
独行侠影a3 小时前
APScheduler+Redis 分布式定时任务:解决多实例任务重复执行
数据库·redis·分布式
传说故事4 小时前
数据库中一些常用英文单词含义
数据库·oracle
夏贰四4 小时前
中小企业搭建业务中台如何控成本?业务中台轻量化落地分几步实施?
数据库·业务中台
林焱RPA4 小时前
影刀RPA200篇纪念版:最实用的20个自动化场景大盘点
数据库
名字还没想好☜4 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
每天都要进步哦6 小时前
SQL单行函数详解:字符、数字、日期、转换与通用函数全解析
数据库·mysql
不剪发的Tony老师6 小时前
VeloxDB:一款免费开源的轻量级数据库管理工具
数据库·sql