zoukankan      html  css  js  c++  java
  • SQL数据库存储过程(一)

    存储过程的概念
    在SQL Server中,可以定义子程序存放在数据库中,这样的子程序称为存储过程,存储过程是数据库对象之一。
    存储过程的特点:
    (1)存储过程在服务器端运行,执行速度快。
    (2)存储过程执行一次后,其执行驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。
    (3)确保数据库的安全。使用存储过程可以完成所有的数据库操作。
    (4)降低网络负载,提高效率。
    (5)可以接受用户参数,亦可返回参数
    存储过程的类型:
    SQL Server支持以下几种类型的存储过程
    1、系统存储过程(以“sp_”为前缀,存储master里)
    2 、本地存储过程(存储在用户定义的数据库中)
    3、扩展存储过程(以“xp_”为前缀,存储在master里)
    4、临时存储过程(名字以#开头)
    注意:用户定义存储过程不能以sp /xp 开头
    创建存储过程
    语法格式:
    create procedure 存储过程名
    as
    sql语句
    执行存储过程
    语法:
    exec 存储过程名
    修改存储过程
    语法:
    alter proc 存储过程名
    as
    sql语句
    删除存储过程
    语法:
    drop procedure存储过程名
    查看存储过程
    sp_helptext查看存储过程的定义
    sp_help查看存储过程的有关信息
    sp_depends查看存储过程所依据的对象.
    sp_rename 存储过程原名,存储过程新名
    存储过程中参数的使用
    存储过程可以带一个或多个输入参数,输入参数是指由调用程序向存储过程传递的参数,它们在创建存储过程语句中被定义,在执行存储过程中给出相应的参数值。
    语法:
    create procedure存储过程名
    (@参数名 数据类型[=默认值] [,...n])
    AS 
    sql语句
    执行带参数的存储过程
    使用参数名传递参数值
    语法:
    EXECUTE 存储过程名 [@参数名=参数值] [,...n]
    例:execute p_a @sname=‘aaa',@pwd='123' 
    按参数位置传递参数值
    语法:
    EXECUTE 存储过程名   参数值1,参数值2
    例: execute p_a ‘aaa','123
    加密存储过程
    存储过程也可通过权限设置,来控制各种用户的执行操作,还可加密来保证存储过程创建文本的安全,加密方法同视图
    create proc p_mi
    (
    参数组
    )
    with encryption--加密
    As
    sql语句

    带输出参数的存储过程
    如果需要从存储过程中返回一个或多个值,可以通过在创建存储过程的语句中定义输出参数来实现,为了使用输出参数,需要在CREATE PROCEDURE语句中指定OUTPUT关键字
    语法:
    CREATE PROCEDURE 存储过程名
    @参数名 数据类型  OUTPUT [,...n]
    AS 
    SQL语句
  • 相关阅读:
    AD预测论文研读系列2
    hdu 5795
    sg函数的应用
    二分查找
    快速幂
    筛选法素数打表
    多校hdu-5775 Bubble sort(线段树)
    多校hdu5754(博弈)
    多校hdu5738 寻找
    多校hdu5726 线段树+预处理
  • 原文地址:https://www.cnblogs.com/CharmingDang/p/9663676.html
Copyright © 2011-2022 走看看