存储过程的使用

alter和create区别

create为创建存储过程

 create procedure [dbo].[student]
    {
@SYS_ACTION char(3),  --"ADD"表示增加,"UPD"表示修改,"DEL"表示删除
        @OutId int = NULL out, --插入数据成功以后,返回插入数据对应的自增字段ID值//out为
        @RunRowCount int = NULL out, --返回除SELECT操作外的脚本执行以后表受影响的行数
        @id	int = NULL,	--主键,自增
        @name	int = NULL,
            @sex varchar(32) = NULL,
            @phone varchar(32) = NULL,
            @addr	varchar(32) = NULL,
            @back  varchar(32) = NULL,
            @money  decimal(12,2) = NULL,
            @heig decimal(12,2) = NULL
)
        AS
        IF @SYS_ACTION = 'ADD'
        BEGIN
        INSERT INTO student (id,name,sex,phone,addr,back,heig)
        VALUES (@id,@name,@sex,@phone,@addr,0,0)
        SET @outId = scope_identity()
        END

    }

首先如果使用alter修改存储过程。向存储过程中添加判断。

 ALTER PROCEDURE [dbo].[student]
            (
    @SYS_ACTION char(3),  --"ADD"表示增加,"UPD"表示修改,"DEL"表示删除,"INF"表示获取基本信息,"LST"表示获取全部列表数据
    @OutId int = NULL out, --插入数据成功以后,返回插入数据对应的自增字段ID值//out为
    @RunRowCount int = NULL out, --返回除SELECT操作外的脚本执行以后表受影响的行数
    @id	int = NULL,	--主键,自增
    @name	int = NULL,
    @sex varchar(32) = NULL,
    @phone varchar(32) = NULL,
    @addr	varchar(32) = NULL,
    @back  varchar(32) = NULL,
    @money  decimal(12,2) = NULL,
    @heig decimal(12,2) = NULL
)
    AS
    IF @SYS_ACTION = 'ADD'
    BEGIN
    INSERT INTO student (id,name,sex,phone,addr,money,heig)
    VALUES (@id,@name,@sex,@phone,@addr,0,0)
    SET @outId = scope_identity()
    END
    IF @SYS_ACTION = 'UPD'
    BEGIN
    UPDATE student
    SET id=@id,name=@name,sex=@sex,phone=@phone,addr=@addr,heig=@heig
    WHERE name= @name
            SET @RunRowCount = @@ROWCOUNT
    END
    IF @SYS_ACTION = 'DEL'
    BEGIN
    DELETE student
    WHERE id = @id
            SET @RunRowCount = @@ROWCOUNT
    END
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值