zoukankan      html  css  js  c++  java
  • 过程&&函数

    过程

    • 用于在数据库中完成特定的操作或者任务(如插入、删除)
    • 程序头部声明用procedure
    • 程序头部声明时不需要描述返回类型
    • 以编译后的形式存放在数据库中
    • 可以使用in/out/in out三种模式的参数
    • 可以作为一个独立的PL/SQL语句来执行
    • 可以通过out/in out返回零个或者多个值
    • SQL语句(DML或SELECT)中不可调用存储过程
    • 示例一
    DROP PROCEDURE IF EXISTS  selectT;
    CREATE PROCEDURE selectT(in id1 VARCHAR(10))
    BEGIN
      SELECT * from t_test where USER_ID = id1;
    end;
    
    call selectT(1);
    
    • 示例二
    DROP PROCEDURE IF EXISTS  CustomerInsert;
    create procedure CustomerInsert (
    in A int,
    in B VARCHAR(20)
    )
    Begin 
         insert into t_test(USER_ID,USER_NAME)  values(A,B);
    End
    
    call CustomerInsert(21,'测试')
    

    函数

    • 用于特定的数据(如选择)
    • 程序头部声明用function
    • 程序头部声明要描述返回类型,而且PL/SQL块中至少要包括一个有效的return语句
    • 以编译后的形式存放在数据库中
    • 可以使用in/out/in out三种模式的参数
    • 不能独立执行,必须作为表达式的一部分调用
    • 通过return语句返回一个值,且该值要与申明部分一致,也可以是通过out类型的参数带出的变量
    • SQL语句(DML或SELECT)中可以调用函数

    触发器
    触发器(TRIGGER)是由事件来触发某个操作。这些事件包括INSERT语句、UPDATE语句和DELETE语句

    • insert
    create trigger tri_insert
    on student
    for insert
    as
    declare @student_idchar(10)
    select @student_id=s.student_id from students
    inner join insertedion s.student_id=i.student_id
    if @student_id='0000000001'
    begin
    raiserror('不能插入1的学号!',16,8)
    rollbacktran
    end
    go
    
    • update
    create trigger tri_update
    on student
    for update
    as
    if update(student_id)
    begin
    raiserror('学号不能修改!',16,8)
    rollbacktran
    end
    go
    
    • delete
    create trigger tri_delete
    on student
    for delete
    as
    declare @student_idvarchar(10)
    select @student_id=student_id from deleted
    if @student_id='admin'
    begin
    raiserror('错误',16,8)
    rollbacktran
    end
    
  • 相关阅读:
    CNN comprehension
    Gradient Descent
    Various Optimization Algorithms For Training Neural Network
    gerrit workflow
    jenkins job配置脚本化
    Jenkins pipeline jobs隐式传参
    make words counter for image with the help of paddlehub model
    make words counter for image with the help of paddlehub model
    git push and gerrit code review
    image similarity
  • 原文地址:https://www.cnblogs.com/pengdt/p/13062304.html
Copyright © 2011-2022 走看看