Oracle 帶引數的儲存過程

2021-09-02 22:46:29 字數 910 閱讀 6980

1、建立儲存過程

create procedure updatedemo  (ageparam in number)

asbegin

update demo set age = ageparam;

commit;

end;

/2、傳參執行

begin

updatedemo(20);

end;

/3、為儲存過程設定引數的預設值

3.1建立儲存過程

create or replace procedure insertdemo(id in char,name in char default '路人',age in char default '30',*** in char) 

asbegin

insert into demo values(id,name,age,***);

commit;

end;

/3.2、執行該儲存過程

begin

insertdemo('5','孫尚香',null,'female');

end;

/注意1

這裡我出現了乙個問題,就是我的表的字段是id,name,***,age;但是我定義的儲存過程是id, 

name,age,***;最後兩個欄位的位置跟表結構不一樣;插入的時候,插入的核心是儲存過程裡的

insert into demo values(id,name,age,***);

1這句話,然後傳參的順序絲毫不會影響到insert表的順醋,插入式,系統會將你的變數id,name 

age,***插入到字段id,name,age,***中,這裡要注意,前4個是引數,後4個是字段;

注意2當儲存過程定義了預設值後,表也定義了預設值,表的預設值優先順序高於儲存過程;

原文: 

oracle儲存過程 帶引數的儲存過程

帶引數的儲存過程 舉例 為指定的員工漲100元的工資,列印漲前和漲後的工資 如果帶參,需要指定是輸入引數還是輸出引數 create orreplace procedure raisesalary eno in number as 定義乙個變數儲存漲前的薪水,引用emp中sal的型別作為psal的型別...

Oracle帶引數的儲存過程

一 需求 為指定的員工,漲100塊錢的工資 並且列印漲前和漲後的薪水。二 帶引數儲存過程 給指定的員工漲 100,並且列印漲前和漲後的薪水 如何呼叫 begin raisesalay 7839 raisesalay 7566 commit end create orreplace procedure...

儲存過程帶in引數

set ansi nulls on set quoted identifier on goalter procedure dbo testlist userid nvarchar 4000 asdeclare search array nvarchar 100 begin set search ar...