DM达梦数据库存储过程和触发器

1、存储过程

在dm中用户可以使用 DMSQL 程序语言创建存储过程。这些过程像普通的过程或函数一样,有输入、输出参数和返回值,它们与表和视图等数据库对 象一样被存储在数据库中,供用户随时调用。
写匿名块:

Declare (可选项)
Begin
  Body;
Exception
End;

在这里插入图片描述
在这里插入图片描述
如何写存储过程。函数就是带返回值的存储过程。

案例:根据员工的编号找出员工所在部门?

CREATE PROCEDURE "SYSDBA"."AAA"("BH" IN INT)

AS

    /*变量说明部分*/

  dept INT;

BEGIN

    /*执行体*/

   select department_id into dept from emp where employee_id=BH;

   print(dept);

END;

调用存储过程:

call aaa(1001);

2、触发器

分为:表级别,库级别,模式级别,视图。
库级别的触发器:
对数据库做drop 操作,记录操作时间,用户等。

案例:
员工表工资发生改动,记录改动前和改动后的值。

Create table TAB1(old_value int,new_value int);
create trigger "SYSDBA"."EEE"
before UPDATE of "SALARY"
on "SYSDBA"."EMP"
for each row
BEGIN
   insert into TAB1 values(:old.salary,:new.salary);
END;
SQL> update emp set salary=1 where rownum<=1;

在这里插入图片描述

发布了155 篇原创文章 · 获赞 88 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_39540651/article/details/105090522
今日推荐