下面以最常见的关系型数据库为例,说明存储过程(Stored Procedure)如何创建,并给出通用写法与示例。
存储过程是预先编译并存储在数据库中的一段 SQL 逻辑,可以:
DELIMITER $$
CREATE PROCEDURE 存储过程名([参数列表])
BEGIN
-- SQL 逻辑
END $$
DELIMITER ;
DELIMITER $$
CREATE PROCEDURE get_user_by_id(IN uid INT)
BEGIN
SELECT * FROM user WHERE id = uid;
END $$
DELIMITER ;
CALL get_user_by_id(1);
CREATE PROCEDURE 存储过程名
@参数 数据类型
AS
BEGIN
-- SQL 逻辑
END
CREATE PROCEDURE get_user_by_id
@uid INT
AS
BEGIN
SELECT * FROM [user] WHERE id = @uid;
END
EXEC get_user_by_id 1;
CREATE OR REPLACE PROCEDURE 存储过程名(
参数名 IN 数据类型
) AS
BEGIN
-- SQL 逻辑
END;
CREATE OR REPLACE PROCEDURE get_user_by_id(
p_uid IN NUMBER
) AS
BEGIN
SELECT * FROM "user" WHERE id = p_uid;
END;
EXEC get_user_by_id(1);
DELIMITER $$
CREATE PROCEDURE get_user_count(OUT total INT)
BEGIN
SELECT COUNT(*) INTO total FROM user;
END $$
DELIMITER ;
调用:
CALL get_user_count(@cnt);
SELECT @cnt;
✅ 存储过程名要有意义
✅ 参数要明确 IN / OUT
✅ 避免复杂业务逻辑全部写在数据库
✅ 注意权限控制
如果你告诉我:
我可以直接帮你写可用的存储过程代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。