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

正文內(nèi)容

oracleplsql開發(fā)基礎(chǔ)(存儲版)

2025-09-22 16:04上一頁面

下一頁面
  

【正文】 SSION FROM EMPLOYEE WHERE DEPT=10。 字符數(shù)據(jù)類型詳細說明見下表:數(shù)據(jù)類型 范圍 子類型 說明CHAR 最大長度 32767字節(jié)CHARACTER 存儲定長字符串,如果長度沒有確定,缺省是 1LONG 最大長度2147483647 字節(jié)存儲可變長度字符串RAW 最大長度 32767字節(jié)用于存儲二進制數(shù)據(jù)和字節(jié)字符串,當(dāng)在兩個數(shù)據(jù)庫之間進行傳遞時,RAW 數(shù)據(jù)不在字符集之間進行轉(zhuǎn)換。 算術(shù)操作符操作符 操作+ 加 減 Oracle PL/SQL 開發(fā)基礎(chǔ)/ 除 * 乘 ** 乘方 關(guān)系操作符關(guān)系操作符主要用于條件判斷語句或用于 where 子句中,關(guān)系操作符檢查條件和結(jié)果是否為 true 或 false,下表是 PL/SQL 中的關(guān)系操作符操作符 操作 小于操作符= 小于或等于操作符 大于操作符= 大于或等于操作符= 等于操作符!= 不等于操作符 不等于操作符:= 賦值操作符 比較操作符操作符 操作IS NULL 如果操作數(shù)為 NULL 返回 TRUELIKE 比較字符串值BETWEEN 驗證值是否在范圍之內(nèi)IN 驗證操作數(shù)在設(shè)定的一系列值中 邏輯操作符操作符 操作AND 兩個條件都必須滿足OR 只要滿足兩個條件中的一個NOT 取反Oracle PL/SQL 開發(fā)基礎(chǔ) PL/SQL 流程控制PL/SQL 支持條件控制和循環(huán)控制結(jié)構(gòu),以下是詳細的說明: 條件控制 IF…THEN 語句語法:IF condition THEN Statements 1。 .... END IF。 IF…ELSIF…ELSE…THEN 語句語法:IF condition1 THENstatement1。Oracle PL/SQL 開發(fā)基礎(chǔ) LOOP 語句循環(huán)控制的基本形式是 LOOP 語句,LOOP 和 END LOOP 之間的語句將無限次的執(zhí)行。上機練習(xí)示范:如果不使用 IF…THEN 語句的話,也可以使用 EXIT WHEN condition 語句,同樣結(jié)束循環(huán),如果條件 condition 為 TRUE,則結(jié)束循環(huán)。LOOP 和 WHILE 循環(huán)的循環(huán)次數(shù)都是不確定的,F(xiàn)OR 循環(huán)的循環(huán)次數(shù)是固定的,counter 是一個隱式聲明的變量,它的初始值是 start_range,第二個值是 start_range+1,直到 end_range。上機示范: 標(biāo)簽用戶可以使用標(biāo)簽使程序獲得更好的可讀性。 標(biāo)記循環(huán) BEGIN outer_loop LOOPinner_loop LOOPStatements1。可以用標(biāo)簽來標(biāo)記一個循環(huán),特別是在內(nèi)嵌多層循環(huán)的時候,可以用 EXIT加標(biāo)簽的形式使循環(huán)推出到想要的地方。這就要求代碼能夠非常干凈地把執(zhí)行語句和異常處理語句分割開來。當(dāng)發(fā)生相應(yīng)狀況時,就會自動進入處理模塊(可以記錄日志等) 。下面是異常部分的一般語法:EXCEPTION WHEN exception_name THEN Code for handing exception_name [WHEN another_exception THEN Code for handing another_exception] Oracle PL/SQL 開發(fā)基礎(chǔ)[WHEN others THEN Code for handing any other exception.]用戶必須在獨立的 WHEN 子串中為每個異常設(shè)計異常處理代碼,WHEN OTHERS 子串必須放置在最后面作為缺省處理器處理沒有顯式處理的異常。BEGIN DECLARE bad_credit。BEGIN DECLARE 內(nèi)部塊開始 bad_credit Exception。執(zhí)行部分拋出的異常將首先傳遞到同一塊的異常部分,如果在同一塊的異常部分沒有處理這個異常的處理器,那么異常將會傳播到上一層的異常部分中,一直到最外層。/ora01/app/oracle/admin/test/utlsir39。 close error log (file_handle)。第 2 章 復(fù)合數(shù)據(jù)PL/SQL 有兩種復(fù)合數(shù)據(jù)結(jié)構(gòu):記錄和集合。隱式聲明是在基于表的結(jié)構(gòu)或查詢上使用%TYPE 屬性,隱式聲明是一個更強有力的工具,這是因為這種數(shù)據(jù)變量是動態(tài)創(chuàng)建的。 )。DECLARE accounter_info accounts%ROWTYPR。在更低的層次,用戶可以處理記錄內(nèi)單獨的域,用戶可以給單獨的域賦值或者在單獨的域上運行布爾表達式,也可以將一個或更多的域傳遞給另一個程序。比如下面的代碼就是錯誤的:IF emp1emp1_too THEN此外,還要注意的是,雖然有的紀(jì)錄變量聲明為%ROWTYPE 類型,但是不能用在 INSERT 語句里面。? VARRAY——和嵌套表類似,但是存儲元素的數(shù)量必須是指定的。 symbol_tab symbol_tab_typ。存儲在一個數(shù)據(jù)庫中的嵌套表并不與表中的其它數(shù)據(jù)存放在同一個數(shù)據(jù)塊中,它們實際上被存放在第二個表中。與嵌套表相似,VARRAY 能夠自動為NULL,可以使用 IS NULL 操作符進行檢測。將一個集合的值賦給另一個集合,只需要簡單的使用賦值操作符。上面是一個嵌套表的初始化函數(shù),初始化的同時給表賦值,由于嵌套表對元素的個數(shù)沒有限制,所以你可以根據(jù)需要在初始化階段給變量 my_courses賦予任意多的值。? 嵌套表的下標(biāo)范圍是 1——2**31。對集合賦值需要注意的是,必須保證所賦的值的類型必須和定義集合的類型相匹配,不然的話,就會出現(xiàn)異常。? 其他語言中的 set 或 bag 類型對應(yīng)于 PL/SQL 的嵌套表類型。它們特別適合那些在創(chuàng)建前不知道容量大小的信息集合,因為聯(lián)合數(shù)組的大小是無限制的。表名(table)后面的列目錄是可選的,缺省的列目錄是所有的列名,包括lumn_id,lumn_id 可以在數(shù)據(jù)字典視圖ALL_TAB_COLUMNS,USER_TAB_COLUMNS,或者 DBA_TAB_COLUMNS中找到。,NULL,7900)。上機練習(xí): 刪除數(shù)據(jù)(DELETE)DELETE 語句用來從表中刪除一行或多行數(shù)據(jù),該命令包含兩個語句:關(guān)鍵字 DELETE FROM 后跟準(zhǔn)備從中刪除數(shù)據(jù)的表名。讓我們來考慮下面的一個過程: CREATE OR REPLACE PROCEDURE empty_library ( pre_empty_count OUT PLS_INTEGER)Oracle PL/SQL 開發(fā)基礎(chǔ) IS BEGIN The tabCount function returns the number of rows in the specified table pre_empty_count := tabcount (39。 BEGIN INSERT INTO books VALUES (...)。Oracle 不會自動地進行回滾。比如下面的代碼例子: CREATE OR REPLACE PROCEDURE set_book_info (book_in IN books%ROWTYPE) IS BEGIN INSERT INTO books VALUES book_in。 基于“記錄” (record )的 UPDATE 語句With Oracle9i Database Release 2, you can also perform updates of an entire row with a record. The following example inserts a row into the books table with a %ROWTYPE record. Notice that I use a new keyword, ROW, to indicate that I am updating the entire row with a record:同插入語句一樣,你也可以使用記錄變量對整條記錄進行更新。你不能插入或更新一個含有內(nèi)嵌記錄的記錄變量。ROLLBACK TO SAVEPOINT回滾到特定的保存點狀態(tài),并且釋放所有代碼范圍內(nèi)所形成的鎖。COMMIT 語句的語法是:COMMIT [WORK] [COMMENT text]。一旦你 COMMIT 了你的變更,你就不能使用 ROLLBACK 語句回滾它們。ROLLBACK 的語法如下:ROLLBACK [WORK] [TO [SAVEPOINT ] savepoint_name]。這意味著你的事務(wù),如果發(fā)生了其他錯誤,可以從一個保存點回滾到相同的保存點。如果你在一個會話中使用了保存點,那么會話就會回退到這個點上,而不會考慮Oracle PL/SQL 開發(fā)基礎(chǔ)這個保存點是在哪個過程、函數(shù)或是匿名塊執(zhí)行的。 游標(biāo)的基礎(chǔ)概念簡單來說,你可以把游標(biāo)看成是指向數(shù)據(jù)表的一種指針,如下面的這個游標(biāo)就與 EMP 表的全部列關(guān)聯(lián)在一起:CURSOR emp_cur IS SELECT * FROM EMP。PL/SQL 提供了數(shù)種方式來操縱上述的私有內(nèi)存區(qū)和其中的數(shù)據(jù),這些方式包含以下:隱式游標(biāo);顯式游標(biāo);游標(biāo)變量;游標(biāo)表達式;動態(tài) SQL。在這里“savepoint_name”是一個不需要聲明的標(biāo)志符,所以保存點的名字必須符合 Oracle 的標(biāo)志符命名標(biāo)準(zhǔn)。 ROLLBACK TO begin_cleanup。為什么你要撤銷變更?從 SQL 的角度看來,ROLLBACK 給你一個消除錯誤的機會。注意,COMMIT 釋放你會話中所有的行級別和表級別的鎖,比如一條SELECT FOR UPDATE 語句。Oracle PL/SQL 開發(fā)基礎(chǔ) COMMIT 語句當(dāng)你 COMMIT,你就把你會話中對數(shù)據(jù)庫的更改永久保留了下來。Oracle 提供了以下事務(wù)控制語句:COMMIT提交從上一個 COMMIT 或 ROLLBACK 開始的變更,并且釋放所有的鎖。而且不能有其他的 SETOracle PL/SQL 開發(fā)基礎(chǔ)子句 ,也就是說,你不能在更新一條記錄的同時更新一個單獨的列。參看以下代碼:需要注意的是,在 INSERT 語句中的 VALUES 子句后面是不能跟“() ”的,如果你按照一般的規(guī)范寫了以下的代碼:INSERT INTO dept VALUES(mydept)。如果異常被傳遞到最外層(比如說,它跑到“非控制”區(qū)域) ,那么,對于大部分 PL/SQL 的執(zhí)行環(huán)境(比如 SQL*Plus) ,一個不可預(yù)見或沒經(jīng)檢查的回滾將會自動執(zhí)行,造成了一些錯誤變更。 END。注意上面的代碼,我們在喚起“NO_DATA_FOUND”異常前,返回了一個整數(shù)值表示 books 表中的紀(jì)錄數(shù)。我們可以在 PL/SQL 中引用這些屬性來控制 DML 流程。上機練習(xí):Oracle PL/SQL 開發(fā)基礎(chǔ) 更新數(shù)據(jù)(UPDATE )UPDATE 命令用于修改表中的數(shù)據(jù)。insert into emp(empno,ename,job,mgr) values(1111,39。Oracle PL/SQL 開發(fā)基礎(chǔ)LOCK TABLE 禁止其他用戶在表中使用 DML 語句 插入數(shù)據(jù)(INSERT)首先看一下 INSERT 的語法: 插入單行數(shù)據(jù): INSERT INTO table [(col1, col2, ..., coln)] VALUES (val1, val2, ..., valn)。聯(lián)合數(shù)組比較適合那些數(shù)據(jù)量小的查詢鏈表結(jié)構(gòu)。TRI M 從集合末端開始刪除一個元素 對 Index_by 非法TRIM() 從集合末端開始刪除 x 個元素 對 Index_by 非法每個方法具體的使用范例,可參考 Oracle 自帶的文檔,這里就不做贅述了。上機練習(xí)Oracle PL/SQL 開發(fā)基礎(chǔ) 給集合賦值給集合賦值的方法和普通變量相類似。 引用集合及其元素引用集合只要使用其標(biāo)志符就行了。BEGINmy_courses :=CourseList(’Econ 2022’, ’Acct 3401’, ’Mgmt 3100’)。如果重新調(diào)用,嵌套表和VARRAY 自動置 NULL,這不只是元素置 NULL,而是整個集合置 NULL。element_type 是一維元素的數(shù)據(jù)類型,如果 element_type 是記錄,那么這個記錄只能使用標(biāo)量數(shù)據(jù)字段(與嵌套表相似) 。當(dāng)集合為 NULL 時,即使不會產(chǎn)生異常,用戶也不能引用集合中的元素。其他的集合類型對數(shù)據(jù)庫的數(shù)據(jù)類型都有限制,但 Index_by 表不能存儲在數(shù)據(jù)庫中,所以沒有這些限制。? 嵌套表——可以存儲任意數(shù)量的元素,以連續(xù)的數(shù)字作為下標(biāo)索引。上機練習(xí):使用 FETCH如果 SQL 語句返回多行數(shù)據(jù)或者希望使用帶參數(shù)的游標(biāo),那么就要使用游標(biāo),這種情況下使用 FETCH 語句代替 SELECT INTO 是一個更簡單、更有效率的方法:上機練習(xí):Oracle PL/SQL 開發(fā)基礎(chǔ) 注意事項
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1