oracle 存储过程(分析理解)
我的理解 比較簡單(僅供參考)? ?存儲過程就相當于java里面的方法 簡單講就是一串代碼能夠實現某個特定的功能,想要使用這個方法直接調用方法名就能夠使用他的功能,這就是方法
oracle 存儲過程也相當于是寫方法來調用? 用圖片的形式來解釋? 通俗易懂? ?有中文解釋
1.無參存儲過程? ? ?or replace一般不要寫 僅供學習的時候寫上 工作不要寫
2.帶參存儲過程? 多個參數用逗號隔開
?
3.定義變量以及賦值
4.打印語句
5.簡單的操作
寫一存儲過程,打印1-n? ?n是傳入的參數 要用到循環
--創建一個存儲過程? ? for 循環
CREATE OR replace PROCEDURE xunhuan(n NUMBER) AS
BEGIN
FOR a IN 1..n
LOOP
dbms_output.put_line(a);
END LOOP;
END;
--sql語句
DECLARE
n NUMBER:=15;
BEGIN
xunhuan(n);
END;
-- while 循環
CREATE PROCEDURE zzzz(n NUMBER)
AS
a NUMBER:=1;
BEGIN
WHILE a<=n
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
END;
DECLARE
cc NUMBER:=15;
BEGIN
zzzz(cc);
END;
--結果
6.稍微難一點的
--寫一存儲過程,求m-n的累加和并返回
jiashu和jiash后面的in是入參的意思 就是寫入參數,out是返回值(裝返回內容的)
CREATE OR REPLACE PROCEDURE fangfa1
(
jiashu IN NUMBER ,
jiash IN NUMBER ,
he OUT NUMBER--返回結果
)
AS
v_sum NUMBER:=0;--裝結果
BEGIN
FOR j IN jiashu..jiash
LOOP
v_sum:=v_sum+j;
END LOOP;
he:=v_sum;
END;
--調用
DECLARE
qq number:=1;
ww NUMBER:=100;
he number;--用來接收返回值的
BEGIN
fangfa1(qq,ww,he);
dbms_output.put_line(he);
end;
?
--簡單的分享到這
轉載于:https://www.cnblogs.com/lqh-haodi/p/10453637.html
總結
以上是生活随笔為你收集整理的oracle 存储过程(分析理解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小孩做艾森克&nbsp;个性测验
- 下一篇: 通过crontab调度java -jar