在pl/sql程式設計中,如果在變數的定義上沒有做到統一的話,可能會隱藏一些危險的錯誤,這樣的原因主要是變數的作用範圍所致。與其它高階語言類似,pl/sql的變數作用範圍特點是:
變數的作用範圍是在你所引用的程式單元(塊、子程式、包)內。即從宣告變數開始到該塊的結束。
乙個變數(標識)只能在你所引用的塊內是可見的。
當乙個變數超出了作用範圍,pl/sql引擎就釋放用來存放該變數的空間(因為它可能不用了)。
在子塊中重新定義該變數後,它的作用僅在該塊內。
declare
emess char(80):='emess';
begin
declare
v1 number(4);
begin
v1 := '1';
dbms_output.put_line(v1);
dbms_output.put_line(emess);
exception
when too_many_rows then
dbms_output.put_line ('more than one president');
end;
declare
v1 number(4);
begin
v1:=2;
dbms_output.put_line(v1);
dbms_output.put_line(emess);
exception
when too_many_rows then
dbms_output.put_line ('more than one manager');
end;
dbms_output.put_line(emess);
exception
when others then
emess:=substr(sqlerrm,1,80);
dbms_output.put_line (emess);
end;
變數的作用域與可見性
1.基本概念 變數有資料型別 char unsigned char short unsigned short int unsigned int long unsigned long float double 定義變數 int a 100 自動分配4位元組的記憶體空間,其中儲存100 2.從作用域與可...
C 中 作用域及可見性
作用域是用來表示某個識別符號在什麼範圍內有效,可見性是指識別符號是否可見,可引用。1.作用域 作用域是這樣乙個區域,識別符號在程式的這個區域內是有效的。c 的作用域主要有四種 函式原型作用域 塊作用域 類作用域和檔案作用域。a.函式原型作用域 函式原型大家還記得嗎?比如 void fun int x...
共享變數可見性
可見性 多執行緒環境下,乙個執行緒修改共享變數,能夠及時被其他執行緒所感知 共享變數 乙個變數在多個執行緒的工作記憶體都存在副本,這個變數就是共享變數 執行緒對共享變數的操作只能在自己的工作記憶體中進行,不能主記憶體中操作 不同執行緒之間無法訪問其他執行緒工作記憶體中的變數,執行緒間變數值的傳遞通過...