创建触发器、函数、存储过程、执行语句
程序员文章站
2022-07-13 11:36:06
...
1、创建执行语句
2、创建触发器
3、创建函数
(1)、单个属性
(2)、多个属性值
4、创建存储过程
declare cursor venList is select * from tbl_venue ; begin --for循环 for ven in venList loop dbms_output.put_line('部门名称:'||VEN.id); end loop; --COMMIT; end ;
2、创建触发器
create or replace trigger 触发器名称 after/before INSERT OR UPDATE OR DELETE on 表名 for each row declare mesg varchar2(100); begin case when inserting then begin mesg := '赋值'; 用 :new来取新属性值,如: :new.id EXception when others then dbms_output.put_line('部门名称:' ||:old.id); end; when updating then begin mesg := '赋值'; 用 :new来取新属性值,如: :new.id 用 :old来取旧属性值,如: :old.id EXception when others then dbms_output.put_line('部门名称:' ||:old.id); end; when deleting then begin mesg := '赋值'; 用 :old来取旧属性值,如: :old.id EXception when others then dbms_output.put_line('部门名称:' || :old.id); end; end case; end;
3、创建函数
(1)、单个属性
create or replace function getReportDate(param in varchar2 .. .) return varchar2 is --返回类型 accept_time varchar2(1000); v_acc_nbr date; CURSOR cur_1 is select sysdate from daul; --定义游标 begin open cur_1; --打开游标 loop fetch cur_1 into v_acc_nbr; --单个属性值 exit when cur_1%notfound; if accept_time is null then ----执行语句 else ----执行语句 end if; end loop; close cur_1; return(accept_time); --返回 end getReportDate;
(2)、多个属性值
create or replace function getReportDate(param in varchar2 .. .) return varchar2 is --返回类型 accept_time varchar2(1000); p1 date; p2 date; p3 date; CURSOR cur_1 is select sysdate,sysdate,sysdate from daul; --定义游标 begin open cur_1; --打开游标 loop fetch cur_1 into p1,p2,p3; --多个属性值 exit when cur_1%notfound; if accept_time is null then ----执行语句 else ----执行语句 end if; end loop; close cur_1; return(accept_time); --返回 end getReportDate;
4、创建存储过程
create or replace procedure 存储过程名称 is--无参 --create or replace procedure 存储过程名称(queryPara varchar2.. .) is --有参 sql_set varchar2(1024); --定义变量 cursor crData is select * from 表名; begin for rowData in crData loop --捕捉异常 BEGIN dbms_output.put_line('打印:' || rowData.id); EXCEPTION WHEN OTHERS THEN dbms_output.put_line('打印:'); END; end loop; end 存储过程名称;
推荐阅读
-
存储过程解密(破解函数,过程,触发器,视图.仅限于SQLSERVER2000)
-
MySQL视图,函数,触发器,存储过程
-
mysql 动态执行存储过程语句
-
MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
-
navicat中创建存储过程、触发器和使用游标的简单实例(图文)
-
存储过程解密(破解函数,过程,触发器,视图.仅限于SQLSERVER2000)
-
MySQL:创建函数与创建存储过程+show profile分析
-
MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
-
Mysql-自带的一些功能,基本用法(视图,触发器,事务,存储过程,函数,流程控制)
-
Oracle入门--PL/SQL、游标、存储过程、自定义函数、触发器、MyBatis 操作(6)