• Sql Server 存储过程


      存储过程

    快速开发平台 存储过程是预编译的SQL语句的集合,这些语句存储在一个名称下并作为一个单元处理。存储过程代替了传统的逐条执行sql语句的方式。一个存储过程中可包含查询、插入、更新、删除等操作的一系列sql语句。当这个存储过程被调用执行时,这些操作也会同时执行

    存储过程与其他编程语言的过程类似,它可以接受输入参数,并以输出参数的格式向调用过程或批处理返回多个值;包含用于在数据库中执行操作(包括调用其他过程的)的编程语句;向调用过程或批处理返回状态值,以指明成功或失败(以及失败的原因)。


    createproc [EDURE] procedure_name [:number]

    [{@parameter data_type}

    [VARYING] [=default] [OUTPUT]] 

    [...n]ASsql_statement 


    参数
    描述
    create procedure
    关键字,也可以写成create proc
    procedure_name
    创建的存储过程名字
    number
    对存储过程进行分组
    @parameter
    存储过程参数,存储过程可以声明一个或多个参数
    data_type
    参数的数据类型,所有数据类型(包括text,ntext和image)均可以用作存储过程的参数,但cursor数据类型只能用于OUTPUT参数
    VARYING
    可选项,指定作为输出参数支持的结果集(由存储过程动态构造,内容可以变化),该关键字仅适用于游标参数
    default
    可选项,表示为参数设置默认值
    OUTPUT
    可选项,表明参数是返回参数,可以将参数值返回给调用的过程
    n
    表示可以定义多个参数
    AS
    指定存储过程要执行的操作
    sql_statement
    存储过程中的过程体


     

    示例

    查询语句

    create proc Name1

    (
        @id int ,
        @name varchar(50),
        @records bit output
    )
    as
    begin

        Select * from table 
        where 条件='  '
    end


    添加语句

    create proc Name2

    (
        @id int ,
        @name varchar(50),
        @sex int,
        @success int output
    )
    as
    begin
        INSERT INTO [dbo].[S1]
             VALUES
                   (@name,@sex)
    end


    修改语句

    create proc Name3
    (
        @id int ,
        @name varchar(50),
        @sex int,
        @success int output)
    as
    begin
        if exists (select 1 from S1
        where name = @name)
        begin
            set @success = 0
            return
        end
        UPDATE [dbo].[S1]
        SET [Name] = @name
        ,[sex] = @sex
        WHERE id =@id


        set @success =1
    end


    删除语句

    create proc Name4
    (
        @id int,
        @success bit output
    )
    as
    begin
        DELETE FROM [dbo].[S1]
              WHERE id=@id
    end 

    本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
    转载请注明:文章转载自:快速开发框架 » Sql Server 存储过程
    本文标题:Sql Server 存储过程
  • 相关阅读:
    Intersection(计算几何)
    Happy Matt Friends(DP)
    Dire Wolf(区间DP)
    Black And White(DFS+剪枝)
    最大子矩阵
    Largest Rectangle in a Histogram (最大子矩阵)
    City Game(最大子矩阵)
    Zipper (DP)
    QQpet exploratory park(DP)
    C++程序设计(第4版)读书笔记_指针、数组与引用
  • 原文地址:https://www.cnblogs.com/frfwef/p/14572708.html
Copyright © 2020-2023  润新知