
以下的文章主要是对pl/SQL中创建与调用Oracle procedure的实际操作步骤,本文主要是通过相关实际应用代码的实际操作来说明Oracle procedure的实际操作步骤,以下就是正文的主要内容的介绍,望你会有所收获。
创建procedure
删除存储过程
提交
在PL/sql中执行procedure
在variable中填入定义的游标名 cur_test
在Type中填入游标类型 Cursor
点击Value 右边的 …图标即可显示出所要的结果
在pl/sql中创建Oracle procedure并调用中会当然也可直接右击存储过程后点TEST
删除数据的存储过程
要在value中填入要传入的值
增加数据
执行
【编辑推荐】
oracle存储过程要锁表是怎么做的
使用select for update 或者直接lock table。 lock table有六选项,根据你的要求来做。
SQL 中存储过程怎么使用?
一、简单的储存过程:1、创建一个存储过程create procedure GetUsers()beginselect * from user;end;、调用存储过程call GetUsers();123、删除存储过程drop procedure if exists GetUsers;二、带参数的存储过程1、MySql 支持 IN (传递给存储过程) , OUT (从存储过程传出) 和 INOUT (对存储过程传入和传出) 类型的参数 , 存储过程的代码位于 BEGIN 和 END 语句内 , 它们是一系列 SQL 语句 , 用来检索值 , 然后保存到相应的变量 (通过指定INTO关键字) ;2、下面的存储过程接受三个参数 , 分别用于获取用户表的最小 , 平均 , 最大分数 , 每个参数必须具有指定的类型 , 这里使用十进制值(decimal(8,2)) , 关键字 OUT 指出相应的参数用来从存储过程传出create procedure GetSCores(out minScore decimal(8,2),out avgScore decimal(8,2),out maxScore decimal(8,2))beginselect min(score) into minScore from user;select avg(score) into avgScore from user;select max(score) into maxScore from user;end;113、调用此存储过程 , 必须指定3个变量名(所有 MySql 变量都必须以@开始) , 如下所示 :call GetScores(@minScore, @avgScore, @maxScore);124、该调用并没有任何输出 , 只是把调用的结果赋给了调用时传入的变量@minScore, @avgScore, @maxScore, 然后即可调用显示该变量的值 :select @minScore, @avgScore, @maxScore;5、使用 IN 参数 , 输入一个用户 id , 返回该用户的名字 :create procedure GetNameByID(in userID int,out userName varchar(200))beginselect name from userwhere id = userIDinto userName;end;6、调用存储过程 :call GetNameByID(1, @userName);select @userName;123参考资料SQL存储过程使用介绍博客[引用时间2017-12-31]
oracle 执行存储过程
你的procedure写错了create or replace procedure abc(v1 in number,v2 in number,res out number)asbegin res := v1*v2; end;/在sqlplus里调用set Serveroutput onvar res number;beginabc(3, 5, :res);end;/输出:print res; 问题补充:如何在oracle 10g 使用PL/SQL developer获取系统当前年月日和时间??谢谢!SELECT SYSDATE FROM DUAL;
发表评论