函数和存过的创建调用
阅读目录
函数[in out 参数]
--函数[in out 参数] create or replace function get_test(m_id in number, str1 out varchar2) --参数不需要类型长度 return varchar2 is str2 varchar2(10); --变量需要类型长度 begin select t.ename, t.job into str1, str2 from scott.emp t where t.empno = m_id; return str2; end get_test; --调用函数[位置表示法] declare s1 varchar2(10); s2 varchar2(10); s3 number(30) default 7521; --default 默认值 begin s3:=7566; s2 := get_test(s3, s1);--参数次序 dbms_output.put_line(s1 || ' ' || s2); end; --调用函数 [名称表示法] declare s1 varchar2(10); s2 varchar2(10); begin s2 := get_test( str1=>s1,m_id=>7521); --名称的对应关系,次序并不重要 dbms_output.put_line(s1 || ' ' || s2); end;
存储过程1
--存储过程1 create or replace procedure get_test1(m_id in number, str1 out varchar2) --参数不需要类型长度 is begin select t.ename into str1 from scott.emp t where t.empno = m_id; end get_test1; --调用 declare s1 varchar2(100); begin get_test1(7521, s1); dbms_output.put_line(s1); end;
存储过程2
create or replace procedure get_test2(m_id in number) is str1 varchar2(100); --变量在is后面定义 begin select t.ename into str1 from scott.emp t where t.empno = m_id; dbms_output.put_line(str1); end; --sql窗口执行 begin get_test2(7521); end; --在命令窗口的执行 EXECUTE get_test2(7521);
- 学习本是一个不断抄袭、模仿、练习、创新的过程。
- 虽然,园中已有本人无法超越的同主题博文,为什么还是要写。
- 对于自己,博文只是总结。在总结的过程发现问题,解决问题。
- 对于他人,在此过程如果还能附带帮助他人,那就再好不过了。
- 由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
- 感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。
- 工控物联Q群:995475200
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?