zoukankan      html  css  js  c++  java
  • Oracle 编程

     编程:储存过程,自定义函数,触发器,包。

    储存过程 

    在命令窗口用exec调

    作用:存储在数据库中用于完成某个功能的程序

    创建在 procedure里

    create or replace procedure 存储过程名称(参数1 in 数据类型, 参数2 out 数据类型, 参数3 in out 数据类型) is 定义变量 begin 代码 end 存储过程名称; 

    命令窗口输出:set serveroutput on 默认是off,关闭输出,只对当前窗口有效

    dbms_output.put_line('输出内容');

      

     变量定义:变量名 数据类型(长度);

    变量赋值:变量名 数据类型(长度) := 值或表达式;

          变量名 := 值或表达式;

        

     还能修改数据,修改必须提交数据库 。 commit 提交数据库。

       

    自定义函数

    作用:用户自定义的具有返回值的程序

    必须有返回值,不能执行DML语句,只能执行DQL语句。查询的时候用,不允许对数据修改

    创建 在functions里

     

        

     select 字段或函数,... into 变量,... from 表     把查询的单行数据赋给变量

      

    触发器

    DML触发器,修改触发

    DDL触发器,查询触发

    复合触发器

    系统事件触发器

    触发方式:

    instead of 触发器 ,常用于视图

    before 前触发after 后触发

    DML触发器:

    对表的insert,update,delete动作触发

     :old 动作执行前的行数据

     :new 动作执行后的行数据

    创建

    创建完后,写编程

    修改的记录就出现在了log表中

     包

    保存和管理存储过程和自定义函数

    可以把储存过程和自定义函数放在里面

    创建 在packages里

     

    包的部分

    (包头)公开包体内的程序名的定义,提供给外部进行访问。

    包体,定义公共变量、存储过程、自定义函数,外部不能直接访问。

    可以直接把操作过程和内置函数放在包体里,便于管理

    在包头调用,在包体里是不开放的。

     从包里调用时 使用包名.程序名

     

  • 相关阅读:
    go 接收发送文件
    【0031】反转整数/判断回文
    【003】链表或字符串的【反转】【左旋转】
    【002】链表或字符串模拟加法/加一/乘法
    【01】数组中只出现一次的数字
    【面试题050】树中两个结点的最低公共祖先
    【面试题049】把字符串转换成整数
    【面试题048】不能继承的类
    【面试题047】不用加减乘除做加法
    【面试题046】求1+2+...+n
  • 原文地址:https://www.cnblogs.com/hq233/p/6195914.html
Copyright © 2011-2022 走看看