又拿起plsql在看了,看到過程這一部分。procedure的引數有三種模式:int,out,in out.如果不宣告的話,預設的是in。以前在學校老師講編譯原理的時候經常提到左值和右值,現在在plsql裡又遇到這種稱呼了。in模式的值是左值,read-only的。out模式的值是右值的write-only.in out模式則是兩種的融合了。寫個例子
create or replace procedure modetest(
inparameter in number,
outparameter out number ,
inoutparameter in out number) is
localvariable number ;
begin
localvariable :=inoutparameter;
inoutparameter:=2500;
--outparameter := 100;
dbms_output.put_line(outparameter);
end modetest;
再寫個測試的例子:
declare
inparameter number :=10;
outparameter number :=20;
inoutparameter number :=30;
begin
modetest(inparameter,outparameter,inoutparameter);
dbms_output.put_line(inoutparameter);
end;
書上說如果往in值裡面寫東西,或者讀out值編譯過程的時候會報錯,我在我本機按這種寫法不會報錯,但呼叫過程的時候會報錯。
讀out的值讀出來是空,輸出什麼都沒有。
PL SQL帶引數的過程
pl sql帶引數的過程小例子 in 引數 讀入引數,主程式向過程傳遞引數值 out引數 讀出引數,過程向主程式傳遞引數值 in out引數 雙向引數 主程式與過程雙向交流資料 sql set serveroutput on create orreplace procedure scott.temp...
plsql 儲存過程 引數的傳遞方式?
儲存過程 一.oracel儲存過程 1 沒有返回值 return 值 2 用輸出引數來代替返回值 3 輸出引數可以有多個 二.引數的傳遞方式 1.按位置傳遞 2.按名字傳遞 3.混合傳遞 按照位置傳遞,再按照名字傳遞 select from emp call re4 3,4 create orrep...
引數模型與非引數模型
引數模型 非引數模型 以及半引數模型 的概念應該源自於統計學中。統計專業中有一門課程叫做 非引數統計 研究的物件就是秩檢驗 核密度估計等。在統計學中,引數模型通常假設總體 隨機變數 服從某乙個分布,該分布由一些引數確定 比如正太分布由均值和方差確定 在此基礎上構建的模型稱為引數模型 非引數模型對於總...