达梦数据库常用语句

一、动态性能视图

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;
相关推荐
千维百策6665 分钟前
SRE 中如何消除琐务:提升工程效率与服务可靠性的实践方法
数据库
卓怡学长12 分钟前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea
名不经传的养虾人43 分钟前
从0到1:企业级AI项目迭代日记 Vol.65|最危险的故障不是崩溃,是悄悄换掉了正确答案
数据库·人工智能·ai编程·ai-agent·企业ai
程序员佳佳1 小时前
模型网关灰度不是调百分比:把放量、观测和回滚做成账本
java·数据库·人工智能·redis·gpt·aigc·embedding
绩隐金1 小时前
用AI开了本小说 九折归潮
数据库
heimeiyingwang1 小时前
【架构实战】MySQL索引优化:从慢查询到毫秒响应
数据库·mysql·架构
得闲喝茶1 小时前
跨表数据匹配——VLOOKUP、XLOOKUP
大数据·数据库·笔记·信息可视化·数据分析·excel
snow@li1 小时前
数据库:如何设计最佳索引 / 数据库最佳索引设计指南
数据库
渣渣灰飞2 小时前
MySQL 系统学习 第二阶段 第四章:DCL(Data Control Language)第二节:权限管理与角色(Role)
数据库·学习·mysql
肖永威2 小时前
金仓数据库麒麟环境SQL终端使用入门实践(增删改查篇)
数据库·sql·金仓数据库