真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle怎么入?yún)?oracle傳參

在Oracle里,輸入?yún)?shù)怎么寫?

你也沒給出個(gè)表名,臨時(shí)給你寫個(gè)例子,自己運(yùn)行看看結(jié)果吧

成都創(chuàng)新互聯(lián)一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、成都網(wǎng)頁(yè)設(shè)計(jì)、成都微信小程序、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、APP應(yīng)用開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來見證!

建表

create table orders(oid varchar2(10),

price int);插入數(shù)據(jù)

insert into orders values ('1111',100);

insert into orders values ('1111',200);

insert into orders values ('2222',400);建立存儲(chǔ)過程

create or replace procedure p_orders

(v_oid varchar2)

as

v_count int;

v_pirce int;

begin

select count(*) into v_count from orders where oid=v_oid;

if v_count=0

then

dbms_output.put_line('訂單編號(hào)不存在');

else

select sum(price) into v_pirce from orders where oid=v_oid;

dbms_output.put_line('編號(hào)為'||v_oid||'的訂單金額為'||v_pirce);

end if;

end;

執(zhí)行1

begin

p_orders('3333');--括號(hào)里這個(gè)就是訂單編號(hào)

end;這個(gè)執(zhí)行結(jié)果是

執(zhí)行2

begin

p_orders('1111');--括號(hào)里這個(gè)就是訂單編號(hào)

end;

然后你自己再改改吧

怎么調(diào)用oracle存儲(chǔ)過程入?yún)?/h2>

創(chuàng)建含有輸入和輸出參數(shù)的存儲(chǔ)過程,該過程通過員工編號(hào)查找工資額,工資額以輸出參數(shù)返回

CREATE OR REPLACE PROCEDURE getSalaryByEmpNo(eNo

IN NUMBER,salary

OUT NUMBER)

AS

BEGIN

SELECT SAL INTO

salary FROM EMP WHERE EMPNO=eNo;

EXCEPTION

WHEN NO_DATA_FOUND THEN!

ORACLE中如何為存儲(chǔ)過程傳遞參數(shù)?

第一種:只讀。參數(shù)是只讀的,不能修改,即調(diào)用時(shí)傳遞進(jìn)來的是常量,或者變量(但變量不能在存儲(chǔ)過程中修改)。通常select及DML類型的存儲(chǔ)過程傳遞的是in類型的參數(shù)。

第二種:只寫。忽略調(diào)用語(yǔ)句傳遞的任何參數(shù),并在函數(shù)(過程)內(nèi)部給這些參數(shù)賦值,因此是只寫的。(這種情況是在函數(shù)或過程內(nèi)部給參數(shù)重新賦值,但重新賦值后的參數(shù)是無法被外部調(diào)用的(好像游標(biāo)類型的參數(shù)除外))

CREATE OR REPLACE? PROCEDURE "SCOTT"."SWAP" (firstValue out

number, secondValue out? number) is

temp number;

begin

temp := firstValue;

firstValue := secondValue;

secondValue := temp;

end swap;

外部調(diào)用:

set serveroutput on;

declare

firstVal number;

secondVal number;

begin

firstVal := 10;

secondVal := 20;

scott.swap(firstVal,secondVal);

dbms_output.put_line('first is ' || firstVal);

dbms_output.put_line('second is ' || secondVal);

end;

無法在外部訪問到firstValue與secondValue的值。此時(shí)打印出的結(jié)果為:

first is

second is

第三種:讀或?qū)?。這可以完全控制參數(shù),讀取傳遞的參數(shù)的值??梢栽俸瘮?shù)(過程)內(nèi)部修改參數(shù)的值,在退出函數(shù)(過程)后,這些參數(shù)被賦給在函數(shù)內(nèi)部寫入的值,這樣就可以返回多個(gè)值。(即入口參數(shù)寫入值后,可以傳遞到函數(shù)(過程)的外部,供外部調(diào)用的時(shí)候使用)

ps:函數(shù)中的返回值為如下幾種:

char; ?varchar2; number; integer; date; boolean; table; record

SQL CREATE OR REPLACE PROCEDURE HelloWorld2 (

2 ???p_user_name IN ????VARCHAR2,

3 ???p_out_val ??OUT ???VARCHAR2,

4 ???p_inout_val IN OUT VARCHAR2

5 ) AS

6 BEGIN

7 ????dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');

8 ????p_out_val := 'A';

9 ????p_inout_val := 'B';

10 END HelloWorld2;

11 /

Procedure created.

SQL DECLARE

2 ???p_outval VARCHAR2(10);

3 ???p_inoutval VARCHAR2(10) := '~Hi~';

4 BEGIN

5 ???HelloWorld2('Edward', p_outval, p_inoutval);

6

7 ???dbms_output.put_line('p_outval=' || p_outval);

8 ???dbms_output.put_line('p_inoutval=' || p_inoutval);

9 END;

10 /

Hello Edward~Hi~!

p_outval=A

p_inoutval=B

PL/SQL procedure successfully completed.


標(biāo)題名稱:oracle怎么入?yún)?oracle傳參
瀏覽地址:http://weahome.cn/article/hpoigh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部