Oracle 中in out引數實現數字交換

2021-08-31 09:09:21 字數 863 閱讀 6681

in out引數

in引數可以接收乙個值,但是不能在儲存過程中修改這個值,而對於out引數,它在呼叫過程時為空,在過程執行中將為為這個引數指定乙個值,並在執行後返回.

而in out引數同時具有了in引數和out引數的特性,在過程中可以讀取和寫入該型別的引數。

// 比如下面是乙個典型的案例交換兩個數

sql> create or replace procedure swap(cempno in out number,

2 tempno in out number

3 )is

4 var_temp number;

5 begin

6 var_temp:=cempno;

7 cempno:=tempno;

8 tempno:=var_temp;

9 end swap;

10 /

procedure created

swap過程是完成兩個數的交換,它需要同時傳入兩個引數,在交換完成後需要同時返回兩個值。下面將編寫匿名程式塊執行過程:

sql> declare

2 var_max number:=20;

3 var_min number:=30;

4 begin

5 dbms_output.put_line('交換前');

6 dbms_output.put_line('var_max'||'='||var_max);

7 dbms_output.put_line('var_min'||'='||var_min);

8 if var_max

testbench中inout型別埠的處理方式

測試平台中需要宣告與待測模組輸入輸出埠對應的變數。與輸入埠相連線的變數定義為reg 與輸出埠相連線的變數定義為 wire。雙向埠inout在測試中需要進行簡單的處理。方法如下 為雙向埠設定中間變數inout reg作為該inout的輸出寄存,inout埠在testbench中要定義為wire型變數,...

SELCET TOP n在Oracle中的實現

聽說sql server和mysql中有top關鍵字,可以返回排序記錄的前n條記錄,如select top 10 from table name order by col name,我想oracle也必定有類似的功能,只是oracle沒有top關鍵字,而是使用rownum關鍵字。to retriev...

swift3 0 中inout關鍵字

swift有兩種引數傳遞方式 1.值傳遞 值傳遞的是引數的乙個副本,這樣在呼叫引數的過程中不會影響原始資料。2.指標傳遞 指標傳遞把引數本身引用 記憶體位址 傳遞過去,在呼叫的過程會影響原始資料。在swift眾多資料型別中,只有class是指標傳遞,其餘的如int,float,bool,charac...