zoukankan      html  css  js  c++  java
  • 数据库存储过程、触发器、函数的使用

    数据库存储过程、触发器、函数

    ·创建存储过程

    CREATE PROCEDURE 存储过程名称

    Use TEST

    GO

    Create procedure user_insert @uID char(20),@uname varchar(20),@upwd  char(20),@num int

    As

    Begin

             While @num>10

             Insert into user

             Values(@uID,@uname,@upwd)

             Set @num=@num+1

             Set @uID=@uID+1

    end

    执行存储过程

    Exec user_insert ‘002’,’jc’,’123456’,0   --循环执行插入10条记录

    强化

    判断user表的userID是否已存在,不存在则加入一条新记录

    User TEST

    GO

    Create procedure user_in @uID char(20) ,@uname char(20), @upwd char(20)

    As

    Begin

             /*判断user表的userID为011是否存在,如果不存在则插入新的记录*/

             If not exists (select userID from user where userID=’011’)

             Insert into user values(@uID,@uname,@upwd)

    end

    执行存储过程

    Exec user_in ‘011’,’tang’,’123456’

    ·创建触发器

    Create trigger 触发器名称 on 表名

    Create trigger delete_user_info on user

    After delete

    As

    Begin

             Delete from user_info where userID=(selete userID from deleted)

    End

    解析:当删除user表记录时,就会触发delete_user_info触发器,并删除user_info中的对应的userID的记录。

    (1)       ON关键字后面指定触发器执行的表,after 关键字用于说明触发器在指定操作都成功执行后触发,delete关键字表示删除操作后激活触发器

    (2)       Deleted表是系统临时表,用于保存已从触发器表中删除的记录,当触发器的一个delete触发器时,被删除的记录存放到deleted表中

    ·创建函数

    CREATE FUNCTION  函数名称(@参数名 类型)

    Use TEST

    GO

    Create function L_name(@uname char(20))

    Returns int

    As

    Begin

             Declare @sum1

             Select  @sum1=count(*) from user where username=@uname

             Return @sum1

    End

    执行函数

    Declare @sum int

    Exec @sum=dbo.L_name(“tang”)

    Select @sum as “用户名为tang的用户数”

  • 相关阅读:
    架构之道(1)
    看板管理(1)
    交互原型图
    Sequence Diagram时序图
    安卓项目的「轻」架构
    安卓ButtomBar实现方法
    工具类BitMap 把网络URL图片转换成BitMap
    使用OkHttp上传图片到服务器
    BaseAdapter教程(2) BaseAdapter的notifyDataSetChanged动态刷新
    开发中时间变换问题汇总
  • 原文地址:https://www.cnblogs.com/JcHome/p/8434995.html
Copyright © 2011-2022 走看看