• 存过



    -----with encryption----存过加密
    alter proc p_ceshi

    as
    select * from dbo.users


    -----------创建一个存过,用来显示学生姓名,课程名,成绩
    create procedure p_xsinfo
    as
    select * from xs join xs_kc on xs.学号=xs_kc.学号 join kc on kc.课程号=xs_kc.课程号

    ----------------使用存过
    exec p_xsinfo

    --1、创建一个存过,同时在学生表和课程表中插入一条数据
    create proc p_1
    as
    INSERT INTO xs
    (学号, 姓名, 专业名, 性别, 出生时间, 总学分, 备注)
    VALUES ('2','2','3','4','5','6','7')

    INSERT INTO kc
    (课程号, 课程名, 开课学期, 学时, 学分)
    VALUES ('1', '2', 3, 4, 5)

    ****--3、创建一个存过,删掉一条数据,再将删掉的数据写回原表
    create proc p_3
    as
    select * into #a from kc
    delete from kc
    insert into kc select * from #a
    drop table #a

    ************************************************************
    ------------------带参数的存过
    create proc p_getxs
    (
    @xm char(8)
    )
    as
    select * from xs where 姓名=@xm
    exec p_getxs '张强民'

    ***********************************************************
    create proc p_bz
    (
    @xh char(6),
    @bz varchar(50)
    )
    as
    update xs set 备注=@bz where 学号=@xh


    exec p_bz '001204','你是一个好人,可惜不适合我'


    ****************************************************************************************************************
    --------------------------------------------------------创建一个存过,添加一门新的课程

    alter proc p_kc
    (
    --@kch char(3), --课程号,通过自动计算完成,所以此处注释了
    @kcm char(16), --课程名
    @xs int, --学时
    @kkxq int=2, --开课学期
    @xf int=3 --学分
    )
    as
    ---------------变量定义
    declare @id int --定义一个临时变量

    select @id=max(课程号) from kc --获取课程的最大编号,并赋值给变量

    set @id=@id+1 --设置变量的值

    --插入数据时,使用最大编号+1 当做新的课程号
    INSERT INTO kc (课程号, 课程名, 开课学期, 学时, 学分) VALUES (@id,@kcm,@kkxq,@xs,@xf)

    ************************************************************************************************

    --带输出参数的存过
    ---创建一个存过,用来获取专业人数,并保存下来
    alter proc p_count
    (
    @count1 int output, --输出参数可以将存过中的内容输出到存过外部使用
    @count2 int output
    )
    as
    select @count1=count(*) from xs where 专业名='计算机'
    select @count2=count(*) from xs where 专业名='通信工程'


    ----变量定义----
    declare @aa int
    --变量赋值
    set @aa='555'

    --查询赋值
    select @aa='学号' from xs where name='李四'
    ---变量使用
    select @aa

    declare @c int ,@d int
    exec p_count @c output,@d output
    print @c
    print @d

    substring

  • 相关阅读:
    md测试
    安利好用的小工具及软件(常更新)
    08-无人值守自动批量安装系统(下)
    建立本地yum仓库
    如何知道命令是由哪个服务提供的
    08-无人值守自动批量安装系统(上)
    07-软件管理
    06-时间管理
    05-用户和组以及权限
    04-编辑文本
  • 原文地址:https://www.cnblogs.com/huanhuan55/p/9766273.html
Copyright © 2020-2023  润新知