Oracle入門(十四H)之良好的程式設計實踐

2021-08-20 08:54:01 字數 1651 閱讀 5060

一、為什麼要學習它

好的程式設計實踐是技巧,可以按照建立最好的**可能。 程式設計實踐涵蓋了一切從**更多可以用更快的速度建立**效能。

軟體工程團隊通常會遵循風格指導讓團隊中的每個人使用相同的技術。 這使它更容易閱讀和修改編寫的**其他。

已經學會了幾種好的程式設計習慣

這個課程:

•轉化:

- 不要依賴隱式資料型別轉換,因為它們可以速度會變慢,而規則可能會在以後的軟體版本中發生變化

•宣告和初始化pl / sql變數:

- 使用有意義的名字

- 為了更好的可讀性和**維護,每行宣告乙個識別符號。

- 當變數必須儲存乙個時,使用not null約束值。

- 避免使用列名作為識別符號。

- 使用%type屬性根據另乙個先前宣告的變數或資料庫列來宣告乙個變數。

其他程式設計指南包括:

•用注釋記錄**

•為**開發乙個案例約定

•開發識別符號和其他物件的命名約定

•通過縮排增強可讀性

•用兩個破折號( - )字首單行注釋。

•在符號「/ *」和「* /」之間放置多行注釋。

例:

declare

...v_annual_sal number (9,2);

begin -- begin the executable section

/* compute the annual salary based on the

monthly salary input from the user */

v_annual_sal := v_monthly_sal * 12;

end; -- this is the end of the block

下表提供了以大寫或小寫編寫**的指導原則,以幫助區分命名物件中的關鍵字。

識別符號的命名應該清晰,一致,並且毫不含糊。

乙個常用的慣例是命名:

•以v_開頭的變數

•以c_開頭的常量

•以p_開頭的引數(傳遞給過程和函式)

例子:v_date_of_birth;c_tax_rate;p_empno;

為了清楚起見,縮排每個級別的**。

例子:

begin

if x=0 then

y:=1;

end if;

end;

declare

v_deptno number(4);

v_location_id number(4);

begin

select

department_id,

location_id

into

v_deptno,

v_location_id

from

departments

where department_name = 'sales';

...end;

Oracle入門(十四B)之PL SQL異常處理

定義 程式執行過程的警告或錯誤成為例外 exception 其他標準的oracle錯誤,可以自定義異常名,將其與指定oracle錯誤關聯,由系統觸發。例子 在pl sql定義部分宣告 some bad error exception pragma exception init some bad er...

Oracle入門(十四 18)之使用動態SQL

資料庫中的所有sql語句都經歷了不同的階段 解析 預執行 這可能嗎?檢查包括語法,物件存在,許可權等 繫結 獲取語句中引用的任何變數的實際值 執行 語句被執行。提取 結果返回給使用者。某些階段可能與所有語句無關 例如,提取階段適用於查詢,但不適用於dml。當pl sql子程式中包含sql語句時,解析...

Oracle入門(十四 23)之管理觸發器

要在模式中建立觸發器,需要 create trigger系統特權 觸發器主體中引用的其他架構中的物件的普通物件特權 select,update,execute等 與觸發器關聯的表或檢視上的alter特權。觸發器主體中的語句使用觸發器所有者的特權,而不是執行觸發觸發器的操作的使用者的特權。下面展示了乙...