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里

     

    包的部分

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

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

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

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

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

     

  • 相关阅读:
    Generate Parentheses
    Length of Last Word
    Maximum Subarray
    Count and Say
    二分搜索算法
    Search Insert Position
    Implement strStr()
    Remove Element
    Remove Duplicates from Sorted Array
    Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/hq233/p/6195914.html
Copyright © 2011-2022 走看看