freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

plsql是oracle對標(biāo)準(zhǔn)數(shù)據(jù)庫語言的擴(kuò)展-文庫吧資料

2025-07-20 15:56本頁面
  

【正文】   但可以比較在集合內(nèi)的兩個元素。LAST返回集合中最后一個元素的下標(biāo)號, 對于VARRAY返回值始終等于COUNT. LIMIT返回VARRY集合的最大的元素個數(shù),對于嵌套表和對于嵌套表和Index_by為null Index_by集合無用NEXT()返回在元素x之后及緊挨著它的元素的值,如果該元素是最后一個元素,則返回null.PRIOR()返回集合中在元素x之前緊挨著它的元素的值,如果該元素是第一個元素,則返回null。集合的方法  除了構(gòu)造函數(shù)外,集合還有很多內(nèi)建函數(shù),這些函數(shù)稱為方法。,75,76,3210000)。不合法quote_list:=stock_tab_typ(39。:=25000。:=100。BEGIN:=39。quote_list stock_tab_typ?! ±篋ECLARE TYPE stock_quote_rec IS RECORD(symbol %TYPE,bid NUMBER(10,4),ask NUMBER(10,4),volume NUMBER NOT NULL:=0)?! ≡谶@個例子中,嵌套表BIOTECH_STOCKS初始化有5個元素,VARRAY tech_10集合最多能有10 個元素,但構(gòu)造函數(shù)只創(chuàng)建了8個元素,其中還有兩個元素是NULL值,并程序中給他們賦值。ENDtech_10(8):=39。IF tech_10(7) IS NULL THENtech_10(7):=39。IBM39。SUNW39。INTC39。MSFT39。,CSCO39。tech_10:=top10_list(39。)。GERN39。,IMCL39。,39。IF biotech_stocks IS NULL THEN初始化集合biotech_stocks:=(39。biotech_stocks(1):=39。tech_10 top10_list。TYPE top10_list IS VARRAY (10) OF %TYPE。如果元素沒有初始化,那么就不能引用該元素。publish_portfolio(symbol_tab)。 symbol_tab(2):=CSCO。END IFnew_acct_tab:=account_tab。SELECT * INTO account_tab(3)FROM accounts WHERE account_nbr=3003。new_acct_tab account_tab_typ。symbol_tab symbol_tab_typ?! ±骸ECLARETYPE symbol_tab_typ IS TABLE OF VARCHAR2(5) INDEX BY BINARY_INTEGER。將一個集合的值賦給另一個集合,只需要簡單的使用賦值操作符。如果重新調(diào)用,嵌套表和VARRAY自動置NULL,這不只是元素置NULL,而是整個集合置NULL。使用集合  象記錄一樣,集合可以在兩個層面上使用:   . 操作整個集合   . 訪問集合中的單個元素  第一種情況使用集合名,第二種情況使用下標(biāo):   collection(subscript)  index_by表的下標(biāo)是兩為的整數(shù),可以為正也可以為負(fù),范圍是:21474836472147483647。正象列的排序保存在表的SELECT*中一樣元素的順序保存在VARRAY中?! ∨c嵌套表相似,VARRAY能夠自動為NULL,可以使用IS NULL操作符進(jìn)行檢測。element_type是一維元素的數(shù)據(jù)類型,如果element_type是記錄,那么這個記錄只能使用標(biāo)量數(shù)據(jù)字段(與嵌套標(biāo)相似)。TYPE type_name IS [VARRAY|VARYING ARRAY] (max_size) OFelement_type [NOT NULL]  max_size是一個整數(shù),用于標(biāo)示VARRAY集合擁有的最多元素數(shù)目?! ARRAY  VARRAY或數(shù)據(jù)變量都有元素的限制。正如沒有order by子句select語句不能保證返回任何有順序的數(shù)據(jù),從數(shù)據(jù)庫中取回的嵌套表也不保證元素的順序。用戶可以使用IS NULL操作符檢測集合是否為NULL?! ∏短妆砗蚔ARRAY都能作為列存儲在數(shù)據(jù)庫表中,所以集合自身而不是單個的元素可以為NULL,ORACLE稱這種整個集合為NULL的為自動設(shè)置為NULL(atomically NULL)以區(qū)別元素為NULL的情況。使用TYPE語句,只是沒有INDEX BY BINARY_INTEGER子串。symbol_tab symbol_tab_typ。其他的集合類型對數(shù)據(jù)庫的數(shù)據(jù)類型都有限制,但I(xiàn)ndex_by表不能存儲在數(shù)據(jù)庫中,所以沒有這些限制?! ‰m然這三種類型的集合有很多不同之處,但他們也由很多相似的地方:   . 都是一維的類似數(shù)組的結(jié)構(gòu)   . 都有內(nèi)建的方法   . 訪問由點分隔  Index_by表  Index_by表集合的定義語法如下:TYPE type_name IS TABLE OF element_type [NOT NULL] INDEXBY BINARY_INTERGET。稀疏性描述了集合的下標(biāo)是否有間隔,Index_by表總是稀疏的,如果元素被刪除了嵌套表可以是稀疏的,但VARRAY類型的集合則是緊密的,它的下標(biāo)之間沒有間隔。  集合的類型  PL/SQL有三種類型的集合  . Index_by表  . 嵌套表  . VARRAY  這三種類型的集合之間由許多差異,包括數(shù)據(jù)綁定、稀疏性(sparsity)、數(shù)據(jù)庫中的存儲能力都不相同。關(guān)于數(shù)據(jù)庫對象的討論已經(jīng)超越了本文的范圍,要詳細(xì)了解數(shù)據(jù)庫對象,可以查閱oracle手冊。還有可能會出現(xiàn)用記錄排序的情況,ORACLE不支持記錄之間的直接比較。   記錄不能用于INSERT語句和將記錄直接用于比較,下面兩種情況是錯誤的:   INSERT INTO stocks VALUES (stock_record)。錯誤,數(shù)據(jù)類型錯誤:=。stock_two:=stock_one。orcl39。stock_two stocks_quote_rec。TYPE stock_quote_too IS RECORD(symbol %TYPE,bid NUMBER(10,4),ask number(10,4),volume NUMBER)。  使用賦值語句將整個記錄復(fù)制給另一個記錄是一項非常有用的技術(shù),不過記錄必須精確地被聲明為相同的類型,不能是基于兩個不同的TYPE語句來獲得相同的結(jié)構(gòu)。)。stock_info stock_cur%ROWTYPEBEGINOPEN stock_cur(39?! ∈褂肍ETCH  如果SQL語句返回多行數(shù)據(jù)或者希望使用帶參數(shù)的游標(biāo),那么就要使用游標(biāo),這種情況下使用FETCH語句代替INSTEAD INTO是一個更簡單、更有效率的方法,但在安全性較高的包中FETCH的語法如下:FETCH cursor_name INTO variable。SELECT * INTO stock_info2 FROM stocksWHERE symbol=39。BEGINSELECT symbol,exchangeINTO ,FROM stocksWHERE symbol=39。  例:DECLAREstock_info1 stocks%ROWTYPE?! 〗o記錄賦值  給記錄或記錄中的域賦值的方法有幾種,可以使用SELECT INTO或FETCH給整個記錄或單獨的域賦值, 可以將整個記錄的值賦給其他記錄,也可以通過給每個域賦值來得到記錄,以下我們通過實例講解每一種賦值方法。:=156700。real_time_detail detail_quote_rec。)。我們使用上面的例子看看DELCARETYPE stock_quote_rec IS RECORD(symbol %TYPE,bid NUMBER(10,4),ask NUMBER(10,4),volume NUMBER NOT NULL:=0,exchange VARCHAR2(6) DEFAULT 39。在更低的層次,用戶可以處理記錄內(nèi)單獨的域,用戶可以給單獨的域賦值或者在單獨的域上運(yùn)行布爾表達(dá)式,也可以將一個或更多的域傳遞給另一個程序。記錄作為一種復(fù)合數(shù)據(jù)結(jié)構(gòu)意味作他有兩個層次可用。END LOOP。THENnotify_shareholder。BEGINFOR xaction_rec in xactions_curLOOPIF =39。3739。variable  有一些PL/SQL指令在使用隱式定義記錄時沒有使用%ROWTYPE屬性,比如游標(biāo)FOR循環(huán)或觸發(fā)器中的:old和:new記錄。CURSOR xactions_cur(acct_no IN VARCHAR2) ISSELECT action,timestamp,holdingFROM portfoliosWHERE account_nbr=39。這是因為我們不需要定義記錄的結(jié)構(gòu),不需要使用TYPE語句,相反在聲明記錄變量時使用%ROWTYPE命令定義與數(shù)據(jù)庫表,視圖,游標(biāo)有相同結(jié)構(gòu)的記錄,與TYPE命令相同的是它是一種定義獲得數(shù)據(jù)庫數(shù)據(jù)記錄的好方法。在上面的例子中記錄域在編譯時將被定義為與列SYMBOL相同的數(shù)據(jù)類型和大小,當(dāng)代碼中要使用來自數(shù)據(jù)庫中的數(shù)據(jù)時,在變量或域定義中最好使用%TYPE來定義。real_time_quote stock_quote_rec。NASDAQ39?! ∮蚨x的語法如下:field_name data_type_and_size [NOT NULL][{:=|DEFAULT} default_value]  域名必須服從與表或列的命名規(guī)則相同的命名規(guī)則。語法如下: TYPE record_type IS RECORD (field_definition_list)。  顯式定義記錄  顯式定義記錄是在PL/SQL程序塊中創(chuàng)建記錄變量之前在聲明部分定義。一旦記錄被定義后,聲明或創(chuàng)建定義類型的記錄變量,然后才是使用該變量。在存儲過程或函數(shù)中記錄也可能有參數(shù)。  PL/SQL 記錄  記錄是PL/SQL的一種復(fù)合數(shù)據(jù)結(jié)構(gòu),scalar數(shù)據(jù)類型和其他數(shù)據(jù)類型只是簡單的在包一級進(jìn)行預(yù)定義,但復(fù)合數(shù)據(jù)類型在使用前必須被定義,記錄之所以被稱為復(fù)合數(shù)據(jù)類型是因為他由域這種由數(shù)據(jù)元素的邏輯組所組成。記錄由不同的域組成,集合由不同的元素組成?! ⌒〗Y(jié)  我們在這篇文章中介紹了PL/SQL的基礎(chǔ)語法以及如何使用PL/SQL語言設(shè)計和運(yùn)行PL/SQL程序塊,并將PL/SQL程序整合到Oracle服務(wù)器中,雖然PL/SQL程序作為功能塊嵌入Oracle數(shù)據(jù)庫中,但PL/SQL與ORACLE數(shù)據(jù)庫的緊密結(jié)合使得越來越多的Oracle數(shù)據(jù)庫管理員和開發(fā)人員開始使用PL/SQL。END SUB_BLOCK?!禣UTER BLOCK》DECLARE A_NUMBER INTEGER; B_NUMBER INTEGER;BEGIN A_NUMBER and B_NUMBER are available here  DECLARE C_NUMBER INTEGER B_NUMBER NUMBER(20)BEGIN C_NUMBER:=A_NUMBER。子塊中定義的變量不能被父塊引用?! ∏短住 〕绦驂K的內(nèi)部可以有另一個程序塊這種情況稱為嵌套?! ULLEND LOOPY:=X。X :=100?! ?zhí)行GOTO語句時,控制會立即轉(zhuǎn)到由標(biāo)簽標(biāo)記的語句。END LOOP outer_loop。end loop innermost_loop。標(biāo)簽的形式是?! ?biāo)簽  用戶可以使用標(biāo)簽使程序獲得更好的可讀性。end loopy:=x。X:=100。  LOOP和WHILE循環(huán)的循環(huán)次數(shù)都是不確定的,F(xiàn)OR循環(huán)的循環(huán)次數(shù)是固定的,counter是一個隱式聲明的變量,他的初始值是start_range,第二個值是start_range+1,直到end_range,如果start_range等于end _range,那么循環(huán)將執(zhí)行一次。   FOR...LOOP  語法:FOR counter IN [REVERSE] start_range....end_range LOOPstatements。END LOOP。X:=100。Y:=X。X:=X+10。LOOPX:=X+10?! 〈藭rY的值是1010.  EXIT WHEN語句將結(jié)束循環(huán),如果條件為TRUE,則結(jié)束循環(huán)?!ND IFEND LOOP。LOOP X:=X+10。LOOP語句的語法如下:  LOOP    statements。  如果條件condition1為TRUE則執(zhí)行statement1,然后執(zhí)行statement5,否則判斷condition2是否為TRUE,若為TRUE則執(zhí)行statement2,然后執(zhí)行statement5,對于condition3也是相同的,如果condition1,condition2,condition3都不成立,那么將執(zhí)行statement4,然后執(zhí)
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1