达梦数据库常用语句

一、动态性能视图

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;
相关推荐
l1t7 小时前
DeepSeek总结的 pg_regresql插件:真正可移植的 PostgreSQL 统计信息
数据库·postgresql
oradh7 小时前
Oracle 11.2.0.1版本升级至11.2.0.4_单机环境
数据库·oracle·oracle11g·oracle升级
l1t7 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
anzhxu8 小时前
QT数据库(三):QSqlQuery使用
数据库·qt·oracle
身如柳絮随风扬8 小时前
MySQL核心知识
数据库·mysql
德彪稳坐倒骑驴8 小时前
Oracle 11g安装
数据库·oracle
韩立学长8 小时前
Springboot校园跑腿业务系统0b7amk02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
阿贵---8 小时前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
想七想八不如114088 小时前
数据库--样题复习
数据库·sql·oracle
551只玄猫8 小时前
【数据库原理 实验报告1】创建和管理数据库
数据库·sql·学习·mysql·课程设计·实验报告·数据库原理