oracle if else語句使用介紹

2023-03-19 01:05:35 字數 1969 閱讀 8092

接收contract_no和item_no值,在inv程式設計客棧entory表中查詢,如果產品:

已發貨,在arrival_date中賦值為今天后的7天

已訂貨,在arrival_date中賦值為今天后的一個月

既無訂貨又無發貨,則在arrival_date中賦值為今天后的兩個月,

並在order表中增加一條新的訂單記錄。

product_status的列值為'shipwvcnezwxuaped'和'ordered'程式設計客棧

inventory:

product_idnumber(6)

product_descriptionchar(30)

product_statuschar(20)

std_shipping_qtynumber(3)

contract_item:

product_id number(6)

contract_nonumber(12)

item_nonumber(6)

arrival_datedate

order:

order_idnumber(6)

product_idnumber(6)

qtynumber(3)

**:

複製** **如下:

declare

i_product_id inventory.product_id%type;

i_product_descripwvcnezwxuation inventory.product_description%type;

i_product_status inventory.product_status%type;

i_std_shipping_qty inventory.std_shipping_qty%type;

begin

//sql語句,將查詢出來的值放到定義的變數中

select product_id, product_description, product_status, std_shipping_qty

into i_product_id, i_product_description, i_product_status, i_std_shipping_qty

from inventory where product_id=(

select product_id from contract_item where contract_no=&&contract_no and item_no=&&item_no

); if i_product_status='shipped' then

update contract_item set arrival_date=sysdate+7 contract_no=&&contract_no and item_no=&&item_no;

//這裡的elseif 是連著寫的

elseif i_product_status='ordered'then

updatecontract_item

setarrival_date=add_months(sysdate,1)//加一個月

whereitem_no=&&itemnoandcontract_no=&&contractno;

else

updatecontract_item

setarrival_date=add_months(sysdate,2)

whereitem_no=程式設計客棧&&itemnoandcontract_no=&&contractno;

insertintoorders

values(100,i_product_id,i_std_shipping_qty);

end if;

end if;

commit;

end;

本文標題: oracle if else語句使用介紹

本文地址:

Oracle if else 語句的寫法例項

接收contract no和item no值,在inventory表中查詢,如果產品 已發貨,在arrival date中賦值為今天后的7天 已訂貨,在arrival date中賦值為今天后的一個月 既無訂貨又無發貨,則在arrival date中賦值為今天后的兩個月,並在order表中增加一條新的...

mysql prepare語句使用

語法 sql view plain copy prepare statement name from sql text 定義 execute statement name using variable variable.執行預處理語句 deallocate prepare statement nam...

mysql prepare語句使用

語法 sql view plain copy prepare statement name from sql text 定義 execute statement name using variable variable.執行預處理語句 deallocate prepare statement nam...

HibernateHQL語句使用總結

1.查詢整個對映物件所有欄位 直接from查詢出來的是一個對映物件,即 查詢整個對映物件所有欄位string hql from users query query session.createquery hql list users query.list for users user users 輸...

mysql prepare語句使用

2011 02 19 22 14 16 分類 預設分類 標籤 字號 大中小訂閱 每次都看別人的,今天我自己寫下來,以後就不用看別人的了 語法 prepare statement name from sql text 定義 execute statement name using variable v...

DB2 Merge Into語句的使用

在做資料備份的時候,我們通常情況下是建立一個同樣結構的表,定期將資料從生產表中寫入備份表中,在備份間隔期間,生產資料會增加,會被修改,那麼有一種備份方法就是增量備份。增量備份,就是每次只是備份自上次備份之後修改的資料。備份資料,通常使用db2特有的工具去實現 有一個功能及其強大的語句,可以實現和模擬...

DB2 MERGE INTO 語句的使用

db2中的merge語句可以將一個表中的資料合併到另一個表中,在合併的同時可以根據條件進行插入 刪除 更新等操作,功能非常強大。語法如下 merge into table name alias1 using table view sub query alias2 on join condition ...

DB2 MERGE INTO語句的使用

db2 merge into語句的使用 db2中的merge語句可以將一個表中的資料合併到另一個表中,在合併的同時可以根據條件進行插入 刪除 更新等操作,功能非常強大。語法如下 www.2cto.com merge into table name alias1 using table view su...

MySQL的if,case語句使用總結

mysql的if既可以作為表示式用,也可在儲存過程中作為流程控制語句使用,如下是做為表示式使用 if expr1,expr2,expr3 如果 expr1 是true expr1 0 and expr1 null 則 if 的返回值為expr2 否則返回值則為 expr3。if 的返回值為數字值或字...

對Python3 goto 語句的使用方法詳解

熟悉 c 語言的小夥伴一定對 goto 語句不陌生,它可以在 之間隨意的跳來跳去,但是好多老程式設計客棧鳥都告誡大家,不要使用 goto,因為 goto 會使你的 邏輯變的極其混亂。但是有時候我們不得不用它,因為它太高效了。比如進入迴圈內部深層一個 gotowww.cppcns.com 就能回到最上...