参考文章
https://blog.csdn.net/lengxiao1993/article/details/53427266
什么是存储过程
是一组为了完成特定功能的sql语句集,它存储在数据库中
这段语句集可以使用其他sql无法使用的关键字比如if else 等
正常的调用sql中的内容需要,在程序中编写sql语句或者使用其他方法,但是存储过程是存储在数据库中一次编译永久有效,在程序调用时无需发送sql语句只需要在程序中发送调用某个存储过程的标志以及它所需要的参数即可。
优点
1、程序中无须编译,随调随用,在性能上有一定帮助。
2、提升代码的复用程度,存储过程可以被任意语言所调用。改动时无需调整代码,只需要在存储过程中进行修改即可。
缺点
1、不易调试,由于存储过程是写在数据库中的,不如直接将sql语句写在代码中调试的方便以及看上去清晰
2、不易扩展迁移,在不同数据库中由于存储过程的语法有一定的区别所以在将一个存储过程从一个数据库迁移到另一个数据的过程中需要进行修改
用法
工具sqlserver
新建一个存储过程:
//用于创建一个User
CREATE PROCEDURE CreateUser
(
@ID int,
@Name vachar(50)
)
AS
BEGIN
INSERT INTO user
(
ID,Name
)
VALUES
(
@ID,@Name
)
END
//用于查询一个User
CREATE PROCEDURE GetUser
(
@ID int
)
AS
BEGIN
SELECT * FROM User WHERE ID = @ID
END
那应该怎么修改一个存储过程
//找到该存储过程,然后右键点击选择修改
//比如修改上方的GetUser
ALTER PROCEDURE GetUser
(
@ID int
@Name vachar(50)
)
AS
BEGIN
SELECT * FROM User WHERE ID = @ID AND Name = @Name
END