oracle12c_Temporal Validity
创建Temporal Validity有两种方法一是自己指定列,一是让oracle自己指定 手工指定 CREATE TABLE Temporal_ValidityEMPNO NUMBER, SALARY NUMBER, DEPTID NUMBER, NAME VARCHAR2100, USER_TIME_START DATE, USER_TIME_END DATE, PERIOD FOR USER_TIME USER_TI
创建Temporal Validity有两种方法一是自己指定列,一是让oracle自己指定
- 手工指定
CREATE TABLE Temporal_Validity (EMPNO NUMBER, SALARY NUMBER, DEPTID NUMBER, NAME VARCHAR2(100), USER_TIME_START DATE, USER_TIME_END DATE, PERIOD FOR USER_TIME (USER_TIME_START, USER_TIME_END)); SQL> SELECT OWNER,TABLE_NAME,COLUMN_NAME,COLUMN_ID FROM DBA_TAB_COLS WHERE TABLE_NAME=UPPER('Temporal_Validity'); : TEMPORAL_VALIDITY TABLE COLUMN Owner Name COLUMN_ID ---------- ------------------------------ --------- TRAVEL USER_TIME_END 6 TRAVEL USER_TIME_START 5 TRAVEL NAME 4 TRAVEL DEPTID 3 TRAVEL SALARY 2 TRAVEL EMPNO 1 TRAVEL USER_TIME 7 ROWS selected. SQL> col NAME FOR a15 SQL> col DEFAULT$ FOR a10 SQL> col SPARE4 FOR a1 SQL> col SPARE5 FOR a1 SQL> col SPARE6 FOR a1 SQL> SELECT * FROM sys.col$ WHERE obj#=92087; OBJ# COL# SEGCOL# SEGCOLLENGTH OFFSET NAME TYPE# LENGTH FIXEDSTORAGE PRECISION# SCALE NULL$ DEFLENGTH DEFAULT$ INTCOL# PROPERTY CHARSETID CHARSETFORM EVALEDITION# UNUSABLEBEFORE# UNUSABLEBEGINNING# SPARE1 SPARE2 SPARE3 S S S SPARE7 SPARE8 ---------- ---------- ---------- ------------ ---------- --------------- ---------- ---------- ------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------- ------------ --------------- ------------------ ---------- ---------- ---------- - - - ---------- ---------- 92087 0 0 22 0 USER_TIME 2 22 0 0 0 9 430120635 1 65576 0 0 0 0 0 0 92087 1 1 22 0 EMPNO 2 22 0 0 2 0 0 0 0 0 0 0 92087 2 2 22 0 SALARY 2 22 0 0 3 0 0 0 0 0 0 0 92087 3 3 22 0 DEPTID 2 22 0 0 4 0 0 0 0 0 0 0 92087 4 4 100 0 NAME 1 100 0 0 5 0 873 1 0 0 0 100 92087 5 5 7 0 USER_TIME_START 12 7 0 0 6 0 0 0 0 0 0 0 92087 6 6 7 0 USER_TIME_END 12 7 0 0 7 0 0 0 0 0 0 0 7 ROWS selected. SQL> col COLUMN_NAME FOR a20 SQL> col TABLE_NAME FOR a15 SQL> col CONSTRAINT_NAME FOR a20 USER_TIME_START ENABLED VALIDATED SQL> col R_CONSTRAINT_NAME FOR a20 SQL> @cons SHOW constraints ON TABLE %TEMPORAL_VALIDITY%... OWNER TABLE_NAME CONSTRAINT_NAME CO R_CONSTRAINT_NAME COLUMN_NAME POSITION STATUS VALIDATED ------------------------------ --------------- -------------------- -- -------------------- ------------------------------ ---------- ---------------- -------------------------- TRAVEL TEMPORAL_VALIDI USER_TIMEA31EBB C USER_TIME ENABLED VALIDATED TY TRAVEL USER_TIMEA31EBB C USER_TIME_END ENABLED VALIDATED TRAVEL USER_TIMEA31EBB C USER_TIME_START ENABLED VALIDATED SQL> SQL> @DESC TEMPORAL_VALIDITY Name NULL? TYPE ------------------------------- -------- ---------------------------- 1 EMPNO NUMBER 2 SALARY NUMBER 3 DEPTID NUMBER 4 NAME VARCHAR2(100) 5 USER_TIME_START DATE 6 USER_TIME_END DATE 手工指定是正常列,可以通过SELECT * 来查看
SQL> SQL> CREATE TABLE TEMPORAL_VALIDITY2 2 ( empno NUMBER, salary NUMBER, deptid NUMBER, name VARCHAR2(100), 3 PERIOD FOR user_time); TABLE created. SQL> @DESC TEMPORAL_VALIDITY2 Name NULL? TYPE ------------------------------- -------- ---------------------------- 1 EMPNO NUMBER 2 SALARY NUMBER 3 DEPTID NUMBER 4 NAME VARCHAR2(100) SQL> SQL> col TABLE_NAME FOR a25 SQL> col OWNER FOR a10 SQL> SELECT OWNER,TABLE_NAME,COLUMN_NAME,COLUMN_ID FROM DBA_TAB_COLS WHERE TABLE_NAME=UPPER('Temporal_Validity2'); OWNER TABLE_NAME COLUMN_NAME COLUMN_ID ---------- ------------------------- -------------------- ---------- TRAVEL TEMPORAL_VALIDITY2 NAME 4 TRAVEL DEPTID 3 TRAVEL SALARY 2 TRAVEL EMPNO 1 TRAVEL USER_TIME TRAVEL USER_TIME_END TRAVEL USER_TIME_START 7 ROWS selected. SQL> SQL> @o TEMPORAL_VALIDITY2 owner object_name object_type STATUS OID D_OID CREATED LAST_DDL_TIME ------------------------- ------------------------------ ------------------ --------- ---------- ---------- ----------------- ----------------- TRAVEL TEMPORAL_VALIDITY2 TABLE VALID 92089 92089 20140526 22:41:37 20140526 22:41:37 SQL> SELECT * FROM sys.col$ WHERE obj#=92089; OBJ# COL# SEGCOL# SEGCOLLENGTH OFFSET NAME TYPE# LENGTH FIXEDSTORAGE PRECISION# SCALE NULL$ DEFLENGTH DEFAULT$ INTCOL# PROPERTY CHARSETID CHARSETFORM EVALEDITION# UNUSABLEBEFORE# UNUSABLEBEGINNING# SPARE1 SPARE2 SPARE3 S S S SPARE7 SPARE8 ---------- ---------- ---------- ------------ ---------- --------------- ---------- ---------- ------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------- ------------ --------------- ------------------ ---------- ---------- ---------- - - - ---------- ---------- 92089 0 1 13 0 USER_TIME_START 181 13 0 6 0 1 32 0 0 0 6 0 0 92089 0 2 13 0 USER_TIME_END 181 13 0 6 0 2 32 0 0 0 6 0 0 92089 0 0 22 0 USER_TIME 2 22 0 0 0 9 430191669 3 65576 0 0 0 0 0 0 92089 1 3 22 0 EMPNO 2 22 0 0 4 0 0 0 0 0 0 0 92089 2 4 22 0 SALARY 2 22 0 0 5 0 0 0 0 0 0 0 92089 3 5 22 0 DEPTID 2 22 0 0 6 0 0 0 0 0 0 0 92089 4 6 100 0 NAME 1 100 0 0 7 0 873 1 0 0 0 100 7 ROWS selected. SQL> @cons SHOW constraints ON TABLE %TEMPORAL_VALIDITY2%... OWNER TABLE_NAME CONSTRAINT_NAME CO R_CONSTRAINT_NAME COLUMN_NAME POSITION STATUS VALIDATED ------------------------------ ------------------------- -------------------- -- -------------------- ------------------------------ ---------- ---------------- -------------------------- TRAVEL TEMPORAL_VALIDITY2 USER_TIMEA43435 C USER_TIME_END ENABLED VALIDATED TRAVEL USER_TIMEA43435 C USER_TIME_START ENABLED VALIDATED SQL>
系统自动创建了2个隐藏列USER_TIME_START,USER_TIME_END
插入数据
SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (101,1900,90,'ADAM',to_date('2000-01-01', 'yyyy-mm-dd') ,to_date('2004-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (102,2900,90,'ADAM',to_date('2001-01-01', 'yyyy-mm-dd') ,to_date('2005-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (103,3900,90,'ADAM',to_date('2002-01-01', 'yyyy-mm-dd') ,to_date('2006-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (104,4900,90,'ADAM',to_date('2003-01-01', 'yyyy-mm-dd') ,to_date('2007-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (105,5900,90,'ADAM',to_date('2004-01-01', 'yyyy-mm-dd') ,to_date('2008-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (106,6900,90,'ADAM',to_date('2005-01-01', 'yyyy-mm-dd') ,to_date('2009-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (107,7900,90,'ADAM',to_date('2006-01-01', 'yyyy-mm-dd') ,to_date('2010-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (108,8900,90,'ADAM',to_date('2007-01-01', 'yyyy-mm-dd') ,to_date('2011-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (109,9900,90,'ADAM',to_date('2008-01-01', 'yyyy-mm-dd') ,to_date('2012-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (110,1900,90,'ADAM',to_date('2009-01-01', 'yyyy-mm-dd') ,to_date('2014-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (111,2900,90,'ADAM',to_date('2010-01-01', 'yyyy-mm-dd') ,to_date('2011-05-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (112,3900,90,'ADAM',to_date('2011-01-01', 'yyyy-mm-dd') ,to_date('2011-08-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (113,4900,90,'ADAM',to_date('2012-01-01', 'yyyy-mm-dd') ,to_date('2013-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (114,5900,90,'ADAM',to_date('2013-01-01', 'yyyy-mm-dd') ,to_date('2014-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (115,6900,90,'ADAM',to_date('2014-01-01', 'yyyy-mm-dd') ,to_date('2015-01-01', 'yyyy-mm-dd')); 1 ROW created. SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (116,7900,90,'ADAM',to_date('2002-04-01', 'yyyy-mm-dd') ,to_date('2002-06-01', 'yyyy-mm-dd'));om 2 SQL> INSERT INTO TEMPORAL_VALIDITY2 (empno , salary , deptid , name , USER_TIME_START, USER_TIME_END) VALUES (116,7900,90,'ADAM',to_date('2002-04-01', 'yyyy-mm-dd') ,to_date('2002-06-01', 'yyyy-mm-dd')) 2 ; 1 ROW created. SQL> commit; Commit complete. SQL> SELECT * FROM TEMPORAL_VALIDITY2; EMPNO SALARY DEPTID NAME ---------- ---------- ---------- --------------- 101 1900 90 ADAM 101 1900 90 ADAM 102 2900 90 ADAM 103 3900 90 ADAM 104 4900 90 ADAM 105 5900 90 ADAM 106 6900 90 ADAM 107 7900 90 ADAM 108 8900 90 ADAM 109 9900 90 ADAM 110 1900 90 ADAM 111 2900 90 ADAM 112 3900 90 ADAM 113 4900 90 ADAM 114 5900 90 ADAM 115 6900 90 ADAM 116 7900 90 ADAM SQL> SELECT NAME, 2 to_char(USER_TIME_START, 'yyyy-mm-dd'), to_char(USER_TIME_END, 'yyyy-mm-dd') 3 FROM TEMPORAL_VALIDITY2 ORDER BY 2; NAME TO_CHAR(USER_TIME_ST TO_CHAR(USER_TIME_EN --------------- -------------------- -------------------- ADAM 2000-01-01 2011-12-31 ADAM 2000-01-01 2004-01-01 ADAM 2001-01-01 2005-01-01 ADAM 2002-01-01 2006-01-01 ADAM 2002-04-01 2002-06-01 ADAM 2003-01-01 2007-01-01 ADAM 2004-01-01 2008-01-01 ADAM 2005-01-01 2009-01-01 ADAM 2006-01-01 2010-01-01 ADAM 2007-01-01 2011-01-01 ADAM 2008-01-01 2012-01-01 ADAM 2009-01-01 2014-01-01 ADAM 2010-01-01 2011-05-01 ADAM 2011-01-01 2011-08-01 ADAM 2012-01-01 2013-01-01 ADAM 2013-01-01 2014-01-01 ADAM 2014-01-01 2015-01-01
- 示例1
SQL> SELECT NAME, 2 to_char(USER_TIME_START, 'yyyy-mm-dd'), to_char(USER_TIME_END, 'yyyy-mm-dd') 3 FROM TEMPORAL_VALIDITY2 AS OF PERIOD FOR USER_TIME 4 to_date('2004-01-01', 'yyyy-mm-dd') ORDER BY 2; NAME TO_CHAR(USER_TIME_ST TO_CHAR(USER_TIME_EN --------------- -------------------- -------------------- ADAM 2000-01-01 2011-12-31 ADAM 2001-01-01 2005-01-01 ADAM 2002-01-01 2006-01-01 ADAM 2003-01-01 2007-01-01 ADAM 2004-01-01 2008-01-01
The query displays all whose
SQL> SELECT NAME, 2 to_char(USER_TIME_START, 'yyyy-mm-dd'), to_char(USER_TIME_END, 'yyyy-mm-dd') 3 FROM TEMPORAL_VALIDITY2 versions PERIOD FOR USER_TIME 4 BETWEEN to_date('2004-01-01', 'yyyy-mm-dd') 5 AND to_date('2008-01-01', 'yyyy-mm-dd') 6 ORDER BY 2; NAME TO_CHAR(USER_TIME_ST TO_CHAR(USER_TIME_EN --------------- -------------------- -------------------- ADAM 2000-01-01 2011-12-31 ADAM 2001-01-01 2005-01-01 ADAM 2002-01-01 2006-01-01 ADAM 2003-01-01 2007-01-01 ADAM 2004-01-01 2008-01-01 ADAM 2005-01-01 2009-01-01 ADAM 2006-01-01 2010-01-01 ADAM 2007-01-01 2011-01-01 ADAM 2008-01-01 2012-01-01
The query displays all whose USER_TIME_START is less than or equal to ‘2004-01-01′ and USER_TIME_END greater than or equal to ‘2008-01-01′‘.
SQL> EXEC DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME('CURRENT') PL/SQL PROCEDURE successfully completed. SQL> SELECT NAME, 2 to_char(USER_TIME_START, 'yyyy-mm-dd'), to_char(USER_TIME_END, 'yyyy-mm-dd') 3 FROM TEMPORAL_VALIDITY2 ORDER BY 2; NAME TO_CHAR(USER_TIME_ST TO_CHAR(USER_TIME_EN --------------- -------------------- -------------------- ADAM 2014-01-01 2015-01-01
SQL> EXEC DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME('ALL') PL/SQL PROCEDURE successfully completed. SQL> SELECT NAME, 2 to_char(USER_TIME_START, 'yyyy-mm-dd'), to_char(USER_TIME_END, 'yyyy-mm-dd') 3 FROM TEMPORAL_VALIDITY2 ORDER BY 2; NAME TO_CHAR(USER_TIME_ST TO_CHAR(USER_TIME_EN --------------- -------------------- -------------------- ADAM 2000-01-01 2011-12-31 ADAM 2000-01-01 2004-01-01 ADAM 2001-01-01 2005-01-01 ADAM 2002-01-01 2006-01-01 ADAM 2002-04-01 2002-06-01 ADAM 2003-01-01 2007-01-01 ADAM 2004-01-01 2008-01-01 ADAM 2005-01-01 2009-01-01 ADAM 2006-01-01 2010-01-01 ADAM 2007-01-01 2011-01-01 ADAM 2008-01-01 2012-01-01 ADAM 2009-01-01 2014-01-01 ADAM 2010-01-01 2011-05-01 ADAM 2011-01-01 2011-08-01 ADAM 2012-01-01 2013-01-01 ADAM 2013-01-01 2014-01-01 ADAM 2014-01-01 2015-01-01 17 ROWS selected.
原文地址:oracle12c_Temporal Validity, 感谢原作者分享。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

ogive圖形以圖形化方式表示一組資料的累積分佈函數(CDF),有時也稱為累積頻率曲線。它用於檢查數據分佈並發現模式和趨勢。 Matplotlib、Pandas和Numpy是Python提供的一些函式庫和工具,用於建立ogive圖形。在本教學中,我們將看看如何使用Matplotlib在Python中產生ogive圖形。要建立一個累積曲線圖,我們需要匯入所需的庫。在這個例子中,我們將使用Matplotlib,Pandas和Numpy。 Matplotlib是一個流行的資料視覺化函式庫,用於在Python中創建

如何在iPhone上個人化電話Apple的iOS17引入了一項名為「聯絡人海報」的新功能,可讓您在iPhone上個性化呼叫螢幕的外觀。此功能可讓您使用所選的照片、顏色、字體和擬我表情作為聯絡人卡片設計海報。因此,當您進行通話時,您的自訂影像將完全按照您的設想顯示在收件人的iPhone上。您可以選擇與所有保存的聯絡人分享您唯一的聯絡人海報,也可以選擇可以看到它的人。同樣,在通話交流期間,您還將看到其他人的聯絡人海報。此外,Apple允許您為單一聯絡人設定特定的聯絡人照片,使來自這些聯絡人的呼叫與

常量和變數用於在程式設計中儲存資料值。變數通常指的是可以隨時間變化的值。而常數是一種變數類型,其值在程式執行期間不能被改變。在Python中只有六個內建常數可用,它們是False、True、None、NotImplemented、Ellipsis(...)和__debug__。除了這些常數之外,Python沒有任何內建資料類型來儲存常數值。範例下面示範了常數的範例-False=100輸出SyntaxError:cannotassigntoFalseFalse是Python中的內建常數,用於儲存布林值

標題:真我手機新手指南:如何在真我手機上建立資料夾?在現今社會,手機已成為人們生活中不可或缺的工具。而真我手機作為一款備受歡迎的智慧型手機品牌,其簡潔、實用的作業系統備受用戶喜愛。在使用真實我手機的過程中,很多人可能會遇到需要整理手機中的檔案和應用程式的情況,而建立資料夾就是一種有效的方式。本文將介紹如何在真我手機上建立資料夾,幫助使用者更好地管理自己的手機內容。第

很多朋友表示想知道在格力+軟體裡該怎麼去創建家庭,下面為大家帶來了操作方法,想要了解的朋友和我一起來看看吧。首先,開啟手機上的格力+軟體,並登入。接著,在頁面底部的選項列中,點選最右邊的「我的」選項,即可進入個人帳戶頁面。 2.來到我的頁面後,在“家庭”下方的選項裡有一個“創建家庭”,找到後在它的上面點擊進入。 3.接下來跳到建立家庭的頁面裡,根據提示在輸入框裡輸入要設定的家庭名稱,輸入好後在右上角點選「儲存」按鈕。 4.最後在頁面下方會彈出一個「儲存成功」的提示,代表家庭已經成功創建好了。

本文將引起您的興趣,如果您有意在Windows上使用GIMP進行像素藝術創作。 GIMP是一款著名的圖形編輯軟體,不僅免費開源,還能幫助使用者輕鬆創造美麗的圖像和設計。除了適用於初學者和專業設計師外,GIMP也可以用於製作像素藝術,這種數位藝術形式是利用像素作為唯一構建塊來進行繪製和創作的。如何在GIMP中建立像素藝術以下是在WindowsPC上使用GIMP建立像素圖片的主要步驟:下載並安裝GIMP,然後啟動應用程式。創造一個新的形象。調整寬度和高度的大小。選擇鉛筆工具。將筆刷類型設定為像素。設定

在iOS17中,Apple為其常用的「電話」和「通訊錄」應用程式新增了聯絡人海報功能。這項功能允許用戶為每個聯絡人設置個人化的海報,使通訊錄更具視覺化和個人化。聯絡人海報可以幫助用戶更快速地識別和定位特定聯絡人,提高了用戶體驗。透過這項功能,使用者可以根據自己的喜好和需求,為每個聯絡人添加特定的圖片或標識,使通訊錄介面更加生動iOS17中的Apple為iPhone用戶提供了一種新穎的方式來表達自己,並添加了可個性化的聯繫海報。聯絡人海報功能可讓您在呼叫其他iPhone用戶時展示獨特的個人化內容。您

如何使用PHP建立驗證碼圖片?驗證碼(CAPTCHA)是一種常用的驗證使用者是否為人而非機器的方法。在網站上,我們經常會看到驗證碼圖片,要求使用者輸入圖片上顯示的隨機字元或數字,以完成登入、註冊、評論等操作。本文將介紹如何使用PHP建立驗證碼圖片,並提供具體的程式碼範例。一、PHPGD庫要建立驗證碼圖片,我們需要使用PHP的GD庫。 GD庫是用來處理影像的擴
