/*儲存過程
一.oracel儲存過程
1、沒有返回值 return 值;
2、用輸出引數來代替返回值;
3、輸出引數可以有多個
二.引數的傳遞方式
1. 按位置傳遞
2. 按名字傳遞
3.混合傳遞 --按照位置傳遞,再按照名字傳遞
*/select
*from
emp;
call re4(
3,4);
create
orreplace
procedure
re6 (
id1
innumber
, id2
innumber
, name1
in emp.ename%
type,
name2
in emp.ename%
type,
n1 out
number
--需要返回乙個引數麼? )as
begin
insert
into emp (empno,ename,sal) values (id1,name1,5000
);
insert
into emp (empno,ename,sal) values (id2,name2,5000
);
commit;
select
count(*) into n1 from
emp;
end;
declare
v_count
number(2);--
oracle 沒有返回值 用輸出引數來定義。
begin
re6(
1,2,'
haha
','xixi
',v_count);
dbms_output.put_line(
'總記錄數'||
v_count);
end;
--1. 按位置傳遞
declare
v_count
number(2
);begin
re6(
3,4,'
jiji
','baba
',v_count); --
1. 按位置傳遞
dbms_output.put_line(v_count);
end;
--2.名字傳遞引數 無序
declare
v_count
number(2
);begin
--2.名字傳遞引數 無序
re6(name1=>'張三
',name2=>'李四
',id1=>
8,id2=>
9, n1=>
v_count);
dbms_output.put_line(v_count);
end;
select
*from
emp;
call re4(
1,2);
call re4(
3,4);
--混合傳遞
declare
v_count
number(2
);begin
re6(
1,2,name1=>'狼王
',name2=>'兔子
',n1=>v_count); --
按照位置傳遞,再按照名字傳遞
dbms_output.put_line('
總數量:'||
v_count);
end;
select
*from emp;
Oracle儲存過程傳遞陣列引數
今天晚上,和同事聊起oracle儲存過程傳遞陣列引數能否使用資料,之後就在自己的電腦上試試,試了試是可以使用。先要定義乙個型別myvarray list 陣列的長度是10,陣列中存放的資料型別是varchar2。sql create or replace type myvarray list as ...
PL SQL儲存過程
or replace 建立或替換,如果存在就替換,不存在就建立create or replace procedure piscursor cisselect from dept2 for update beginfor row record in c loopif row record.deptno...
pl sql 儲存過程
在這段時間的開發中資料庫用的是oracle以前用的都是mssql它們的儲存過程的寫法還有一點不一樣,所以花了一天的時間看了看!以下是我做的乙個小例子!create table mytesttable id number,name varchar2 10 insert into mytesttable...