1. 程式人生 > >DB2學習總結(1)——DB2資料庫基礎入門

DB2學習總結(1)——DB2資料庫基礎入門

DB2的特性

完全Web使能的:可以利用HTTP來發送詢問給伺服器。

高度可縮放和可靠:高負荷時可利用多處理器和大記憶體,可以跨伺服器地分佈資料庫和資料負荷;能夠以最小的資料丟失快速地恢復,提供多種備份策略。

DB2資料庫啟停

啟動資料庫:db2start

停止資料庫:db2stop

檢查存在的資料庫

LIST DATABASE DIRECTORY

資料庫連線、斷開

CONNECT TO databasename

CONNECT RESET

建立、刪除資料庫

CREATE DB databasename

注:如果已經連著一個數據庫的話,就建立不了資料庫,會報“應用程式已經與一個數據庫相連”的錯

DROP DB databasename

第二節表

資料型別

可分為數值型(numeric)、字串型(character string)、圖形字串(graphic string)、二進位制字串型(binary string)或日期時間型(datetime)。還有一種叫做DATALINK的特殊資料型別。DATALINK值包含了對儲存在資料庫以外的檔案的邏輯引用。

數值型資料型別包括:

小整型SMALLINT:兩位元組整數,精度為5位。範圍從-32,76832,767

大整型INTEGERINT:四位元組整數,精度為10位。範圍從-2,147,483,6482,147,483,647

巨整型BIGINT:八位元組整數,精度為19位。範圍從-9,223,372,036,854,775,8089,223,372,036,854,775,807

小數型DECIMAL(p,s)DEC(p,s)NUMBERIC(p,s)NUM(p,s):小數型的值是一種壓縮十進位制數,它有一個隱含的小數點。壓縮十進位制數將以二-十進位制編碼(binary-coded decimalBCD)記數法的變體來儲存。小數點的位置取決於數字的精度(p)和小數位(s)。小數位是指數字的小數部分的位數,它不可以是負數,也不能大於精度。最大精度是31位。小數型的範圍從-10**31+110^**31-1

單精度浮點數REAL:單精度浮點數是實數的32位近似值。數字可以為零,或者在從-3.402E+38-1.175E-37或從1.175E-373.402E+38的範圍內。

雙精度浮點數DOUBLEFLOAT:雙精度浮點數是實數的64位近似值。數字可以為零,或者在從-1.79769E+308-2.225E-307或從2.225E-3071.79769E+308的範圍內。

字串包括:

定長字串CHARACTER(n)CHAR(n):長度介於1254位元組之間。如果沒有指定長度,那麼就認為是1個位元組。

變長字串VARCHAR(n)CHARACTER VARYING(n)CHAR VARYING(n):最長可達32,672位元組。LONG VARCHAR最長可達32,700位元組。

字元大物件字串CLOB(n):最長可以達到2,147,483,647位元組

定長圖形字串GRAPHIC(n):長度介於1127個雙位元組字元之間。如果沒有指定長度,就認為是1個雙位元組字元。

變長圖形字串VARGRAPHIC(n)LONG VARGRAPHIC:最大長度可達16,336個雙位元組字元。

雙位元組字元大物件字串DBCLOB(n):最長可達1,073,741,823個字元。用於容納非傳統型的資料,諸如圖片、語音或混合媒體等,還可以容納使用者定義的型別及使用者定義的函式的結構化資料。

二進位制大物件BLOB(n):二進位制大物件是變長字串,最長可達2,147,483,647位元組。

日期時間型資料型別

DATEDATE是一個由三部分組成的值(年、月和日)。年份部分的範圍是從00019999。月份部分的範圍是從112。日部分的範圍是從1n,其中n的值取決於月份。DATE列長10個位元組。

TIMETIME是一個由三部分組成的值(小時、分鐘和秒)。小時部分的範圍是從024。分鐘和秒部分的範圍都是從059。如果小時為24,分鐘和秒的值都是0TIME列長8個位元組。

TIMESTAMPTIMESTAMP是一個由七部分組成的值(年、月、日、小時、分鐘、秒和微秒)。年份部分的範圍是從00019999。月份部分的範圍是從112。日部分的範圍是從1n,其中n的值取決於月份。小時部分的範圍是從024。分鐘和秒部分的範圍都是從059。微秒部分的範圍是從000000999999。如果小時是 24,那麼分鐘值、秒的值和微秒的值都是0TIMESTAMP列長26個位元組。

欄位名稱

資料型別

欄位長度

約束

說明

hospital_ID

INTEGER

主鍵

醫院ID

hospital_Code

VarChar

30

索引

醫院程式碼

hospital_Name

VarChar

30

索引

醫院名稱

hospital_Describe

VarChar

60

醫院描述

hospital_IsActive

Char

1

預設值(Y)

有效(Y)無效(N)

欄位名稱

資料型別

欄位長度

約束

說明

department_ID

INTEGER

主鍵

科室ID

department_Code

VarChar

30

索引

科室程式碼

department_Name

VarChar

30

索引

科室名稱

department_Describe

VarChar

60

科室描述

department_Parent

INTEGER

索引

上級科室

department_IsLast

Char

1

預設值(Y)

末端標誌

hospital_ID

INTEGER

外來鍵、索引

醫院ID

Department_IsVirtual

Char

1

是否虛擬科室

department_IsActive

Char

1

預設值(Y)

有效(Y)無效(N)

表的建立

表字段新增、主鍵、外來鍵、約束

插入行

INSERT [INTO] {table_name} [(column_list)]

VALUES {DEFAULT | value_list | select_statement}

例如:insert into xxx(id,name) values(1,limingzhong);

更新行

UPDATE table_name

SET column_name = value [, column_name = value]

[FROM table_name]

[WHERE condition]

刪除行

DELETE [FROM table(s)]

[WHERE condition]

查詢

SELECT * FROM table_name WHERE condition(s)

例如:SELECT * FROM XU.HOSPITAL  where hospital_name like '_西一%'

UNION運算子

SELECT * FROM XU.AAA union SELECT * FROM XU.BBB;

表連線(join

SELECT * FROM XU.CCC a inner join XU.AAA b on a.idid=b.id where b.id=1001

檢視

檢視是一個虛表,它可以訪問來自一個或多個表的列的子集,是從一個或多個表中派生出資料的物件,派生資料的表稱為基表或底層表。它是作為資料庫中物件儲存的一種詢問。

檢視提供一種安全機制。它保證使用者只能檢索和修改他們看得到的資料。基表中其餘的資料既不能看到也不能被存取。複雜的詢問的使用也可以通過檢視來簡化。複雜詢問可以以檢視的形式儲存,檢視中的資料可使用簡單詢問來抽取。

定義檢視後,它可以象資料庫中任何其它的表一樣被引用。雖然檢視與表相似,但它並沒有儲存在資料庫中。它從基表中派生出它的值集合。

建立檢視

CREATE VIEW view_name

[(column_name [, column_name]…)]

AS select_statement

在檢視中,ORDER BY子句不能在SELECT語句中使用。

刪除檢視

DROP VIEW view_name [,view_name]…

通過檢視修改資料

可以通過修改檢視中的資料來修改基表資料。資料的修改不能影響到一個以上的基表,即每次的修改只能影響一個表。

索引

索引是一種內部表結構,它基於表中一個或多個列的值,提供對錶中行的快速存取。

索引的優點

索引的主要目標是提高存取資料頁的速度。伺服器並非對所需的資料掃描每一頁,而是掃描索引,獲得資料儲存單元的地址,並直接地存取資訊。

l         提高詢問執行的速度

l         實施資料唯一性

l         加速了表之間的連線

索引的缺點

為表中的每一列建立索引是不明智的。

l         建立索引要花時間

l         索引也需要空間來儲存資料

l         每次修改資料時索引都需要更新

簇索引

l         資料被物理排序

l         應該在具有高百分比唯一值和不經常被修改的屬性上構建索引。

非簇索引

l         行的物理順序不同於索引的順序

l         一般在用於連線和WHERE子句的列上建立,且它的值可能被經常地修改。

l         當給出CREATE INDEX命令時,預設建立非簇索引。

索引的特性

l         索引加速了連線表的詢問、執行排序和分組

l         索引可用來實施行的唯一性

l         索引對資料大多數是唯一的列很有用。索引對具有大量重複資料的列沒有多大用處

l         當你修改索引列的資料時,相關索引會被自動更新

l         你需要時間和資源來維護索引。你不應該建立不被經常性使用的索引

l         簇索引應在非簇索引之前被建立。簇索引改變了行的順序。如果非簇索引在簇索引之前被建立,那麼它需要被重新構造

l         典型地,非簇索引在外來鍵上建立

第三節實現儲存過程

儲存過程是SQL語句和控制流語句的一個集合或批量,它在一個名稱下儲存,按獨立單元方式執行。它能幫助提高查詢的效能。

儲存過程的好處

儲存過程是儲存在資料庫中的一個預編譯物件。這意味著過程是預編譯的,可提供給各種應用執行。傳送查詢到伺服器、分析和編譯過程再不需要花費時間。

l         提高效能:應用不必重複地編譯此過程。

l         減輕網路擁塞:為進行處理,應用不需要向伺服器提交多個SQL語句。

l         一致性較好:由於過程作為單一控制點,在過程中定義的編碼邏輯和SQL語句在所有應用中被一致地實現。

l         改善安全機制:使用者可以被授予許可權來執行儲存過程,儘管他們並不擁有這個過程。

執行儲存過程語句

call proc_name(param,…)

向過程傳遞引數

引數:是查詢中的一個佔位符或是一個儲存過程,只要查詢或儲存過程被執行,該過程就接受使用者定義的值。

引數的型別:

l         輸入引數:允許呼叫者向過程傳遞資料值。

l         輸出引數:允許儲存過程向呼叫者返回資料值。

RETURN關鍵字

允許儲存過程把整型值返回給呼叫者。如果沒有指定值,那麼儲存過程返回預設值01,這依賴於儲存過程的成功執行與否。

RETURN value

巢狀過程

可以執行或呼叫來自另一個過程的過程。

create procedure pr1() language sql p1:begin declare id integer;decla name VARCHAR(60);set id=10;set name='abc';return 0;end p1

DROP PROCEDURE語句

DROP PROCEDURE proc_name

不能撤銷一個正被另一個過程呼叫的過程。

第四節觸發器

觸發器的定義和特徵

一個觸發器是由SQL語句集組成的程式碼塊,在響應某些動作時啟用該語句集。一個觸發器也可被解釋為特定型別的儲存過程,每當動作發生時執行該過程。

每當基礎表中資料受到資料操縱語言(DML)語句——INSERTUPDATEDELETE的影響時,觸發器就被激發。

觸發器幫助維持表中資料的一致、可靠和正確。

觸發器的特徵

l         當任何資料修改語句被髮出時,它就被自動激發。

l         在儲存過程的情況下,它不被顯式地呼叫和執行。

l         它防止了對資料的不正確、未授權的和不一致的改變。

l         它不能返回資料給使用者。

觸發器可最多巢狀。當一個觸發器執行對另一個觸發器初始化動作時觸發器的巢狀就產生了。

建立觸發器

CREATE TRIGGER XU.T1 AFTER  UPDATE OF NAME ON XU.AAA  FOR EACH ROW  MODE DB2SQL insert into BBB (id1,name1) values(1005,'國家')

INSERT觸發器

當試圖插入一行到觸發器表中時,INSERT觸發器被激發。當INSERT語句被髮出時,一個新行被加到觸發器和inserted表中。

DELETE觸發器

當試圖從觸發器表中刪除一行時,DELETE觸發器被激發。

使用DELETE觸發器來實現引用完整性有三種途徑:

l         串聯方法——每當從主表中刪除記錄時,刪除依賴表中的記錄。

l         限制方法——如果相關記錄出現在依賴表中,則限制從主表中刪除記錄。

l         無效方法——每當一個記錄從主表中刪除時,把依賴表中所指列的值變為無效。

UPDATE觸發器

ALTER TRIGGER命令

l         撤銷觸發器且重新建立它

l         使用ALTER TRIGGER

DROP TRIGGER命令

可用DROP TRIGGERDROP TABLE命令刪除觸發器。

觸發器和資料完整性

觸發器可用來確保和加強業務規則和資料完整性。業務規則是指確保業務平穩運轉的組織政策。資料完整性是指資料的精確性和可靠性。

l         如果某種改變違反了引用完整性,那麼所有這樣的改變都被拒絕,因此所有試圖改變資料庫中的資料都被取消。

l         允許實施非常複雜的限制。

l         它可執行依賴於對錶所作修改的結果的特定的動作。

第五節實現處理事務和遊標

事務

一個事務是可以被定義為作為單個的邏輯單元工作的一串操作。單個的工作單元必須具有稱為ACID(原子性、一致性、獨立性和永續性)的四個性質。

l         原子性:這規定或者所有的資料修改都執行或者所有的都不執行。

l         一致性:在事務處理成功地完成後,所有的資料都處於一致的狀態。在關係資料庫中所有的規則必須應用到事務修改中來維持完全的資料完整性。

l         獨立性:一個事物或者在併發事務修改它之前的狀態下訪問資料,或者在第二個事務完成後訪問資料。沒有機會可看到事物的中間狀態。

l         永續性:規定了一個已完成的事務對資料任何改動在系統中永久有效。因此,一個已完成事務對資料的任何改變即使在系統故障的事件中也是有效的。這是通過備份和恢復事務日誌的概念來保證的。(日誌)

顯式事務

就是事物的開始和結束都被顯示地定義的事務。顯式事務是用BEGIN TRANSACTIONCOMMIT TRANSACTION語句說明。

BEGIN TRANSACTION

BEGIN TRAN[SACTION] [transaction_name | @tran_name_variable]

COMMIT TRANSACTIONCOMMIT WORK

標誌顯式事務的結束點。這個語句用來結束事務處理時沒有遇到錯誤的事務。

COMMIT [TRAN[SACTION] [transaction_name | @tran_name_variable]]

COMMIT WORK語句與COMMIT TRANSACTION語句作用相同。這兩個語句之間的唯一的區別是COMMIT WORK語句不接受事務名。

Autocommit事務

Autocommit模式是SQL Server的預設事務管理模式。在每一個T-SQL語句結束時,事務被自動提交或者回滾。BEGIN TRANSACTION語句重設預設的自動提交模式。當顯示事務被提交或回滾,或當隱式事務模式關閉時,SQL Server返回自動提交模式。

ROLLBACK TRANSACTIONROLLBACK WORK

把顯式的或隱式的事務回滾到事務的開始,或者回滾到事務內的儲存點。

ROLLBACK [TRAN[SACTION] [transaction_name | @tran_name_variable | savepoint_name | @savepoint_variable]]

ROLLBACK TRANSACTION語句和ROLLBACK WORK語句功能相同。兩者間的唯一區別就是ROLLBACK WORK語句不接受事務名。

儲存事務

SAVE TRANSACTION語句在事務內設定儲存點。儲存點把事務分成幾個邏輯單元,如果事務的一部分是有條件地被取消,這樣事務可以返回到儲存點。

SAVE TRAN[SACTION] {savepoint_name | @savepoint_variable}

上鎖

SQL Server用上鎖的概念確保事務的完整性和資料庫的一致性。上鎖,在功能上避免使用者訪問正在被其它使用者改變的資訊。在SQL Server中,上鎖是自動實施的。

事務的併發性

SQL Server提供了樂觀的和悲觀的併發性控制元件。它用悲觀併發性控制元件作為預設控制元件,而樂觀併發性控制元件可通過遊標來完成。

樂觀併發性

樂觀併發性控制元件建立在多使用者間資源衝突大概是不可能的假設基礎上。樂觀併發性允許事務執行不用鎖定任何資源。只有在提交事務時才進行資源檢查,以決定衝突是否發生。如果衝突發生,事務重新開始。

悲觀併發性

悲觀併發性控制元件在事務處理期間鎖定資源。除非出現死鎖,事務總能保證成功地完成。

丟失更新

丟失更新問題發生在當兩個或多個事務基於原先所選值試圖修改同一行的時候。在這種情況下,每一個事物意識不到其它的事務。事務對列中最後的更新會重寫前面事務所作的更新。

自由依賴性(無效讀入)

自由依賴性(uncommitted dependency)也稱為無效讀入(dirty read)。

不一致性分析

不一致性分析問題又稱為不可重複問題。

幻象讀取

幻象讀取又稱為幻象問題。

理解DB2中的上鎖

SQL Server實現了多粒度上鎖,這允許事務以不同級別對不同型別的資源上鎖。為了最小化上鎖的工作量,SQL Server在一個合適的事務的級別上自動地鎖定資源。為了增強併發性,SQL Server以一個較小的粒度實現上鎖(如行),但增加了開銷,因為多行上鎖必須設定許多的鎖。在表級上鎖時,粒度越大併發性越低,因為它拒絕其它事務對錶任何部分的訪問。粒度越大資料庫伺服器的開銷就越小,因為維持的鎖較少。

鎖項

下表列出以粒度遞增次序鎖定的資源:

描述

RID

分別鎖定表中行的行識別符號

Key

索引內的行鎖。在序列化事務中用它來保護鍵範圍

Page

是一個8K頁或者一個索引頁

Extent

是一個連續的8K資料頁或索引頁的組

Table

是一個完整表,包括所有資料和索引

Database

是完整的資料庫

SQL Server鎖模型

對於訪問資源的事務,SQL Server通過用鎖模式解決併發事務間的衝突。SQL Server使用資源鎖模型列表如下:

鎖模式

描述

SharedS

用作不改變或更新資料的操作(只讀操作)。

UpdateU

用在可被更新的資源上。這個模式防止了多事務在讀取、上鎖及往後潛在的更新資源時發生的常見形式的死鎖。

ExclusiveX

用於資料修改工作。這個模式確保多個更新不會同時作用到同一資源上。

IntentI

用於建立鎖的層次結構。

Schema

當執行依賴於表模式的操作時使用使用。SQL Server支援兩種型別的鎖模式:模式穩定(Sch-S)和模式修改(Sch-M)。

共享鎖

允許併發事務來讀取資源。如果一個資源上有任何共享鎖的話,其它的事務都不能修改該資源上的資料。一個共享鎖在資料已被事務讀取後釋放資源。

更新鎖

更新(U)鎖,在功能上避免了常見形式的死鎖發生。

互斥型鎖

排它型鎖(X),在功能上唯一地限制併發事務訪問一個資源。用排它鎖時沒有任何其它的事務可以讀取或者修改已上鎖的資料。

意向鎖

相關推薦

DB2學習總結1——DB2資料庫基礎入門

DB2的特性 完全Web使能的:可以利用HTTP來發送詢問給伺服器。 高度可縮放和可靠:高負荷時可利用多處理器和大記憶體,可以跨伺服器地分佈資料庫和資料負荷;能夠以最小的資料丟失快速地恢復,提供

Python資料分析學習筆記1numpy模組基礎入門

        numpy模組可以進行高效的資料處理,並提供了陣列的支援,很多模組都依賴他,比如pandas、scipy、matplotlib等,因此這個模組是基礎。 (1)匯入: import numpy (2)建立一維和二維陣列: #建立一維陣列 x=numpy.

Redis學習總結1——Redis記憶體資料庫詳細教程

1.Redis是什麼 2.redis的作者何許人也 3.誰在使用redis 4.學會安裝redis 5.學會啟動redis 6.使用redis客戶端 7.redis資料結構 – 簡介 8.redis資料結構 – strings 9.redis資料結構 – lists 10.redis

MEF學習總結1---總體架構

attr 總結 技術分享 dir target get gre round 管理 用了很久的MEF框架來做依賴註入,最近想把它的原理和機構總結一下,主要包括如下幾個方面: 1. 總體架構 2. .Net Composition Primitive 3. Attribu

Spring-Batch學習總結1——重要概念,環境搭建,名詞解釋,第一個項目及異常處理

img truct 設定 uil sna sta col key services Spring-batch框架學習總結(1)一.初識Spring-batch框架:1.核心名詞解釋:Job:是Spring-batch框架的核心概念,它包含了批處理的所有操作Step:每一個J

phthon學習總結1

pytho 保留字 大小寫 特殊字符 int 開頭 字母數 操作 定義 1、print("hello word") 2、變量、常量:   變量是存儲信息、方便調用、修改操作   常量固定不變的量,python用字母大寫區分。無常量。 命名規則: 1)字母數字下劃線組成。 2

事務學習總結1——事務的基本概念

一:什麼是事務?     對資料庫讀寫一系列操作的合集。     具有"ACID"的特性,即原子性、一致性、隔離性、永續性。     核心點是鎖與併發。 二:主要用在哪些場景?解決了什麼問題?    

《實戰Java高併發程式設計》學習總結1

第1章 走入並行世界 1 併發(Concurrency)和並行(Parallelism)都可以表示兩個或多個任務一起執行。但併發偏重於多個任務交替執行,而多個任務之間有可能還是序列。並行是真正意義上的“同時執行”。 2 有關並行的兩個重要定律。Amdahl定律強調當序列比例一定時,加速比是有

爬蟲入門學習總結1——使用正側表示式並寫入CSV

目標:抓取目標網站用正側表示式並寫入CSV裡。 進度:基本達成目標,但還是有些小問題沒有解決 存在的疑問: ide中呼叫執行檔案不能顯示完整 有些網站不能讀取完 為什麼會有換位符號,是因為js解析嗎 還沒解決的技術性問題: yield的具體用法 CSV寫入為什麼

設計模式學習總結1簡單工廠模式、工廠方法模式、抽象工廠模式

設計模式學習 做了幾個專案,發現設計模式的好處還是很多的,這東西就是隻有你真正用到的時候才知道他的好處,否則學了也不知道所以然。所以設計模式學習我認為可以在先進行幾個專案後,再來學習,這樣學習的效果和感受才是最好的。 這次是做一個學習的筆記,內容還是主要以我看的兩本書《大

訊息中介軟體學習總結1——RocketMQ之專訪RocketMQ聯合創始人:專案思路、技術細節和未來規劃

編者按 這些年開源氛圍越來越好,各大IT公司都紛紛將一些自研程式碼開源出來。2012年,阿里巴巴開源其自研的第三代分散式訊息中介軟體——RocketMQ。經過幾年的技術打磨,阿里稱基於RocketMQ技術,目前雙十一當天訊息容量可達到萬億級。 2016年11月,阿里將Ro

Mysql學習總結63——Mysql資料庫架構方案選擇與分析

一、資料庫架構原則 高可用 高效能 一致性 擴充套件性 二、常見的架構方案 方案一:主備架構,只有主庫提供讀寫服務,備庫冗餘作故障轉移用 jdbc:mysql://vip:3306/xxdb 高可用分析:高可用,主庫掛了,keepalive(只是一種工具)會

Maven學習總結1-maven概述

1.基本概念        Maven是跨平臺的專案管理工具。主要服務於基於Java的專案構建,負責依賴管理和專案資訊管理。(Maven帶來一種全新的專案構建方式,負責統一開發規範和工具,統一管理jar包。) 2.專案構建   專案構建過程包括【清

Spring Boot學習總結1——Spring Boot入門

摘要:Spring Boots是為了幫助開發人員很容易的創建出獨立執行和產品級別的基於 Spring 框架的應用。 從 Spring Boot 專案名稱中的 Boot 可以看出來,Spring

許可權系統設計學習總結1——多租戶的RBAC許可權管理

一、公司(Company)   公司包含了體系結構集合與使用者集合。 公司可以存在上下級關係,這種關係僅限於展現形式,公司與公司之間沒有許可權繼承,也就是說在授權管理中公司之間全部是扁平關係。公司的屬性有以下內容: 屬性 型別 公司編碼 字串 公司名稱

ActiveMQ學習總結1——ActiveMQ快速入門

1.下載ActiveMQ 2.執行ActiveMQ 解壓縮apache-activemq-5.5.1-bin.zip,然後雙擊apache-activemq-5.5.1\bin\activemq.bat執行ActiveMQ程式。 3.建立Eclipse專案並執行

Oracle學習總結2——Oracle資料庫設計總結三大正規化

一、實體與表對應關係 表<=>實體,欄位<=>屬性。 二、表與表的關係(實體間的關係):一對一、一對多、多對多 一對一:一條記錄只對應其他表中的一條記錄有關係 學生基本資訊表t_student,成績表t_studentScore含有一個外來

YUI學習總結1

看了 YUI2 有一段時間了,在這紀錄一下自己的一些總結 。歡迎大家有不同的見解,可以給我留言。 再看英文文件及原始碼之前, 我試著 搜了下網路中寫的比較好的一些 YUI 總結: 在這裡列出(在些也感謝你們的分享): 先討論下YAHOO Global Object

Tomcat學習總結1——Tomcat入門教程

一、Tomcat伺服器埠的配置  Tomcat的所有配置都放在conf資料夾之中,裡面的server.xml檔案是配置的核心檔案。  如果想修改Tomcat伺服器的啟動埠,則可以在server.xml配

PL/SQL學習總結1

PL/SQL是一種面向過程的類似Pascal的語言,是Oracle公司對SQL語言的功能的擴充套件,它是將過程性結構與oracle SQL無縫的整合在一起而產生的一種結構化的強有力的語言,是一種高階資料庫程式設計語言。 1、程式開始