日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle入门(十四.6)之使用标量数据类型

發布時間:2023/12/3 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle入门(十四.6)之使用标量数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

、聲明字符變量

字符數據類型包括CHAR,VARCHAR2和LONG。

DECLAREv_emp_job VARCHAR2(9);v_order_no VARCHAR2(6);v_product_id VARCHAR2(10);v_rpt_body_part LONG; …


二、聲明數字變量

數字數據類型包括NUMBER,PLS_INTEGER,BINARY_INTEGER和BINARY_FLOAT。 在語法中,CONSTANT約束變量,使其值不能改變。 常量必須初始化。 INTEGER是NUMBER(38,0)的別名。

DECLAREv_dept_total_sal NUMBER(9,2) := 0;v_count_loop INTEGER := 0;c_tax_rate CONSTANT NUMBER(3,2) := 8.25;…

(1)聲明日期變量

日期數據類型包括DATE,TIMESTAMP和TIMESTAMP WITH TIMEZONE。

DECLAREv_orderdate DATE := SYSDATE + 7;v_natl_holiday DATE;v_web_sign_on_date TIMESTAMP; …

(2)聲明布爾變量

布爾值是存儲用于邏輯計算的三個可能值之一的數據類型:TRUE,FALSE或NULL。

DECLAREv_valid BOOLEAN NOT NULL := TRUE;v_is_found BOOLEAN := FALSE;v_underage BOOLEAN; …

聲明布爾變量細節

聲明布爾變量時:

?只能將值TRUE,FALSE和NULL分配給布爾變量。
?條件表達式使用邏輯運算符AND和OR,而運算符不檢查變量值。
?變量總是產生TRUE,FALSE或NULL。
?您可以使用算術,字符和日期表達式來返回布爾值。


三、聲明和初始化PL / SQL變量的準則

只有值TRUE,FALSE和NULL可以分配給布爾變量。
?使用有意義的名稱并遵循命名約定。
?為了更好的可讀性,代碼維護和更簡單的評論,每行聲明一個標識符。
?當變量必須保存一個值時,使用NOT NULL約束。

?避免使用列名作為標識符。

DECLAREcountry_id CHAR(2); BEGINSELECT country_idINTO country_idFROM countriesWHERE country_name = 'Canada'; END;


四、使用%TYPE屬性固定變量

您可以使用%TYPE屬性根據另一個先前聲明的變量或數據庫列聲明變量,而不是對變量的數據類型和精度進行硬編碼。

當存儲在變量中的值是從數據庫中的表派生時,最常使用%TYPE屬性。

當你使用%TYPE屬性聲明一個變量時,你應該用數據庫表和列名作為前綴。

(1)%TYPE屬性

看看這個數據庫表和使用它的PL / SQL塊。 這個PL / SQL塊將正確的薪水存儲在v_emp_salary變量中。 但是如果表格列稍后改變呢?
CREATE TABLE myemps (emp_name VARCHAR2(6),emp_salary NUMBER(6,2)); DECLAREv_emp_salary NUMBER(6,2); BEGINSELECT emp_salary INTO v_emp_salaryFROM myemps WHERE emp_name = 'Smith'; END;

(2)%TYPE屬性詳細信息

%TYPE屬性:
?用于自動給變量賦予與以下相同的數據類型和大小:
- 數據庫列定義
- 另一個聲明的變量
?帶有以下任一項的前綴:
- 數據庫表和列
- 其他聲明變量的名稱

(3)用%TYPE屬性聲明變量

句法:

identifier table.column_name%TYPE;

例子:

...v_emp_lname employees.last_name%TYPE;v_balance NUMBER(7,2);v_min_balance v_balance%TYPE := 1000; ...

(4)%TYPE屬性的優點

%TYPE屬性的優點是:
?您可以避免由數據類型不匹配或錯誤精度造成的錯誤。

?如果列定義更改,則不需要更改變量聲明。 也就是說,如果您已經為特定的表格聲明了一些變量而不使用%TYPE屬性,那么如果聲明變量的列被更改,那么PL / SQL塊可以返回錯誤。

?當您使用%TYPE屬性時,PL / SQL將在編譯塊時確定變量的數據類型和大小。 這確保了這樣的變量總是與用于填充它的列兼容。

(5)%TYPE屬性

再看看數據庫表和PL / SQL塊。現在,即使列數據類型稍后發生更改,PL / SQL塊仍會繼續正常工作。
CREATE TABLE myemps (emp_name VARCHAR2(6),emp_salary NUMBER(6,2)); DECLAREv_emp_salary myemps.emp_salary%TYPE; BEGINSELECT emp_salary INTO v_emp_salaryFROM myemps WHERE emp_name = 'Smith'; END;


總結

以上是生活随笔為你收集整理的Oracle入门(十四.6)之使用标量数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。