• 学习存储过程(1)


    存储过程说白了就是一堆 SQL 的合并。中间加了点逻辑控制。
    用户自定义存储过程create proc | procedure pro_name
    [{@参数数据类型} [=默认值] [output],
    {@参数数据类型} [=默认值] [output],
    ....
    ]
    as
    SQL_statements


    创建存储过程
    Create procedure sp_name //sp_name 自己给存储过程去的名称

    Begin

    ……

    End

    Create Proc dbo.存储过程名
    存储过程参数
    AS
    执行语句
    RETURN
    执行存储过程
    GO


    Eg:

    -- 要创建存储过程的数据库

    Use Test

    -- 判断要创建的存储过程名是否存在

    if Exists(Select name From sysobjects Where name='csp_AddInfo' And

    type='P')

    -- 删除存储过程

    Drop Procedure dbo.csp_AddInfo

    Go

    -- 创建存储过程

    Create Proc dbo.csp_AddInfo

    -- 存储过程参数

    @UserName varchar(16),

    @Pwd varchar(50),

    @Age smallint,

    @Sex varchar(6)

    AS

    -- 存储过程语句体

    insert into Uname (UserName,Pwd,Age,Sex)

    values (@UserName,@Pwd,@Age,@Sex)

    RETURN

    -- 执行

    GO

    -- 执行存储过程

    EXEC csp_AddInfo 'Junn.A','123456',20,'男'


    --创建存储过程
    if (exists (select * from sys.objects where name = 'proc_get_student'))
    drop proc proc_get_student
    go
    create proc proc_get_student
    as
    select * from student;

    --调用、执行存储过程
    exec proc_get_student;


    存储过程说白了就是一堆 SQL 的合并。中间加了点逻辑控制。
    存储过程运行流程


    创建不带参数存储过程
    --创建存储过程

    if (exists (select * from sys.objects where name = 'proc_get_student'))
    drop proc proc_get_student
      

    create proc proc_get_student
    as
    select * from student;
      结果:

    --调用、执行存储过程

    exec proc_get_student;
      查询结果:


    带参存储过程
    if (object_id('proc_find_stu', 'P') is not null)
    drop proc proc_find_stu
    go
    create proc proc_find_stu(@startId int, @endId int)
    as
    select * from student where id between @startId and @endId
    go

    exec proc_find_stu 2, 4;
      执行结果:
    2 赵姳 17 男
    3 张曼 18 女
    4 张立 19 女


  • 相关阅读:
    php内存管理机制、垃圾回收机制
    Redis 3.2.1集群搭建
    centos开启IPV6配置方法
    /etc/hosts.allow和/etc/hosts.deny详解
    3元购买微信小程序解决方案一个月
    linux下使用ntfs-3g挂载NTFS出错
    腾讯云微信小程序域名变更指南
    nginx开启gzip压缩
    centos 7使用yum安装docker容器
    linux中启动网卡报错:Bringing up interface eth1: Error: Connection activation failed
  • 原文地址:https://www.cnblogs.com/guangzhou11/p/9025132.html
Copyright © 2020-2023  润新知