调用数据库存储过程的方法取决于你使用的数据库类型(如 MySQL、SQL Server、Oracle、PostgreSQL)以及你使用的编程语言或工具(如 Java、Python、命令行等)。
下面我按常见场景给你一个清晰总览。
CALL proc_name(参数1, 参数2);
示例:
CALL get_user_by_id(1001);
EXEC proc_name @param1 = value1;
或
EXEC proc_name value1, value2;
示例:
EXEC sp_get_user @id = 1001;
BEGIN
proc_name(param1, param2);
END;
/
如果有 OUT 参数:
DECLARE
v_result VARCHAR2(100);
BEGIN
proc_name(1001, v_result);
DBMS_OUTPUT.PUT_LINE(v_result);
END;
/
CALL proc_name(param1, param2);
(旧版本用 SELECT func_name(); 对于函数)
CallableStatement cs = conn.prepareCall("{call proc_name(?, ?)}");
cs.setInt(1, 1001);
cs.registerOutParameter(2, Types.VARCHAR);
cs.execute();
String result = cs.getString(2);
cursor.callproc("proc_name", [1001])
for result in cursor.stored_results():
print(result.fetchall())
<select id="callProc" statementType="CALLABLE">
{call proc_name(#{id, mode=IN}, #{name, mode=OUT, jdbcType=VARCHAR})}
</select>
EXECUTE 权限你可以告诉我:
我可以直接给你可复制的示例代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。