目录
1.显性游标就是定义一个游标名, 以及与其相对应的SELECT 语句
一·达梦数据库的发展
随着信息技术的不断发展,达梦数据库也在不断演进,在吸收主流数据库产品优点的同时,也在逐步形成自身的优点,受到了商业界和更多大众用户的认同。
那达梦数据库有哪些优点呢?
1.通用性强
主要体现在硬件平台支持(兼容多种硬件)、操作系统支持(实现了平台无关性)、应用开发支持(支持多种主流集成的开发环境和各种开发框架技术等)。
2.高可用性
主要体现在实时的主备系统、快速的故障恢复、具有可靠的备份和还原、还有高效的复制粘贴。
3.高性能
主要体现在支持列存储、数据压缩、物化视图等面向联机事务分析场景的优化选项,通过表级行存储、列存储选项技术,在同一产品中提供对联机事务处理和联机分析处理业务场景的支持;
4.高安全性
5.易用性好
6.兼容性强
二、云主机的使用与登录
1.先登录信创云管平台与开启并连接云主机
通过浏览器访问信创云管平台(地址:https://10.92.71.62),并使用自己的
用户名和密码进行登录。
2.远程虚拟机
在云管平台的主界面上,选择【菜单】下拉列表中的【虚拟机】选项。
选择自己的虚拟机,点击【开机】操作,并确认执行开机就可以了然后远程控制
三、创建一个用户并安装DM管理工具
1.进入root创建一个dmdba用户并设置密码
创建用户
useradd dmdba
修改密码
passwd dmdba
2.切换到dmdba用户下载一个DM管理工具
安装命令
./DMInstall.bin -i
这里省略一些安装步骤
下载之后就可以启动如下图片一样
先看端口号
xhost +
切换到dmdba用户安装DM管理工具的目录下
cd /安装目录
使用./manager打开图形化管理工具
./manager
四、以下是DM系列工具的简单介绍与使用
我们要用到的是DM管理工具,以下是简单的文字介绍
DM 管理工具是达梦数据库系统最主要的图形界面工具,用户通过它可以与达梦数据库进行交互--操作数据库对象和从数据库中获取信息。DM 管理工具的主要功能包括服务器管理、数据库实例管理、模式对象管理、表对象管理、外部表对象管理、索引对象管理、视图对象管理、物化视图对象管理、存储过程对象管理、函数对象管理、序列对象管理、触发器对象管理、包对象管理、类对象管理、同义词对象管理、全文索引对象管理、外部链接对象管理、角色权限管理、用户权限管理、安全信息管理、表空间对象管理、备份恢复管理、工具包管理、数据复制管理、数据守护管理、作业调度管理等
如图所示
有了这个图形化管理工具我们查询表就会很方便
1.创建表空间
例如:登录云主机,创建表空间TEST,包含两个数据文件,存放在/dmdata/data/DAMENG目录下。两个数据文件分别为TEST01.DBF,TEST02.DBF。文件初始大小为100M或128M,每次自动扩展1M,最大扩展2G。
使用客户端DM管理工具连接到云服务端,执行以下SQL语句:
SELECT * FROM SYS.V$TABLESPACE WHERE NAME='TEST'
客户端DM管理工具打开TEST表空间属性,查看数据文件,并调整位置和宽度,完整显示所有列。
2.在TEST模式下创建学生信息表(STU)
例图如下:
五、连接查询简单例子
select 列名称 from 表名 inner join 连接表名 on [连接条件]
例如:在dmhr模式下, 查询姓名为两个汉字且姓“周”的员工的姓名、职务、工资及提高20%后的工资, 并用中文显示列名。
六、游标的简单介绍与示例
游标有显性游标和隐性游标
1.显性游标就是定义一个游标名, 以及与其相对应的SELECT 语句
一般形式为:
CURSOR cursor _ name IS select _ statement;
需要注意的是:DMSQL 程序不能用OPEN 语句重复打开同一个游标
游标的定义和使用 如下例子:
declare
v_ deptname varchar(50):='行政部';
v_ empname varchar(50)
v_ empno int;
v_ salary int;
cur _ emp cursor; --定义游标
begin
--打开游标
open cur _ emp for
select employee _ name, employee _ id, salary
from dmhr. employee a . dmhr. department b
where a. department _ id= b. department _ id
and b. department _ name = v_ deptname;
--循环取数据
loop
fetch cur _ emp into v_ empname,v_ empno,v_ salary;
exit when cur _ emp% notfound;
print v_empno‖'--'∥v _ empname| v_ salary;
end loop;
close cur _ emp; --关闭游标
end;
2.隐形游标对于非查询语句, 如修改、删除操作等
例:删除EMPLOYEE 表中101号部门的所有员工, 如果该部门中已没有员工可删除, 则在DEPARTMENT 表中删除该部门
DECLARE
V_ deptno employee. department _ id%TYPE :=101;
BEGIN
DELETE FROM employee WHERE department _ id=v_ deptno;
IF SQL%NOTFOUND THEN
DELETE FROM department WHERE department _ id= 101;
END IF;
END;
七、存储过程及存储函数
1.创建存储过程语法:
CREATE [OR REPLACE] PROCEDURE Procedure _ name
[ (argment [ {IN | OUT | IN OUT} ] Type,
argment [ {IN | OUT | IN OUT} ] Type]
{IS | AS}
<类型.变量的说明>
BEGIN
<执行部分>
EXCEPTION
<可选的异常错误处理程序>
END;
例子:设计一个不带参数的存储过程p1 _ staffsum _ bycityname, 用于统计公司在各大城市的员工数之和, 并显示各城市名称和总人数。然后调用存储过程。
如图所示
2.创建一个存储函数的语法:
CREATE [OR REPLACE] FUNCTION function_name (parameter_list)
RETURN return_type
IS
variable_declarations;
BEGIN
-- 函数主体,包含SQL语句和逻辑控制
-- 可以使用PL/SQL语言编写复杂的业务逻辑
-- 例如:查询、更新、插入等操作
-- 使用RETURN关键字返回结果
EXCEPTION
-- 异常处理部分,用于捕获并处理运行时错误
-- 可以定义多个WHEN块来处理不同类型的异常
END;
CREATE OR REPLACE: 如果函数已经存在, 则替换现有函数; 否则创建新函数。
FUNCTION_NAME: 函数的名称, 必须遵循达梦数据库的标识符规则。
PARAMETER_LIST:函数参数列表, 包括参数名和数据类型。参数可以是IN (输入)、OUT (输出) 或INOUT (输入输出) 模式。
RETURN_TYPE:函数返回值的数据类型。
VARIABLE_DECLARATIONS:声明函数内部使用的变量, 包括变量名和数据类型。
BEGIN... END: 函数主体, 包含具体的业务逻辑和SQL语句。
RETURN: 返回函数的结果。根据函数的返回类型, 可以返回单个值或记录集。
EXCEPTION: 异常处理部分, 用于捕获并处理运行时错误。可以定义多个WHEN块来处理不同类型的异常。
以下是一个创建存储函数的例子: