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