官术网_书友最值得收藏!

實例011 使用宿主變量

【實例描述】

PL/SQL中的宿主變量也稱為全局變量,它是指在SQL*Plus中聲明的Session全局級變量,該變量在整個會話過程中均起作用。Session也即會話,一個客戶端從連接到退出的過程稱為當(dāng)前用戶的會話。在實際的PL/SQL編程中,合理使用宿主變量能夠大幅提高程序的執(zhí)行效率。

本實例聲明一個宿主變量,從數(shù)據(jù)表STUDENT中取出學(xué)號為“120003”的學(xué)生,將其賦值到該宿主變量中并輸出。其中,STUDENT表的基本數(shù)據(jù)如圖1-28所示,該PL/SQL塊執(zhí)行后的輸出結(jié)果如圖1-31所示。

圖1-31 使用宿主變量

【實現(xiàn)代碼】

    SQL>  VAR name VARCHAR2(20);
    SQL>  BEGIN
      2  SELECT sname INTO :name FROM STUDENT WHERE SNO='120003';
      3  END;
      4  /
    SQL> PRINT name

【范例解析】

該實例中首先通過關(guān)鍵字VAR聲明了變量name,在PL/SQL塊中查詢數(shù)據(jù)表STUDENT中指定的字段并將其值賦給該變量。讀者可以看到,name變量沒有在PL/SQL塊的DECLARE部分聲明,但也能正確獲取字段值,這就是宿主變量的作用。讀者在使用宿主變量時要注意如下兩個方面。

● 聲明宿主變量可以使用關(guān)鍵字VAL來實現(xiàn)。

● PL/SQL塊中訪問宿主變量時要在變量前加符號“:”,本實例中即使用了該符號。

注意:在SQL*Plus中輸出字符串可通過關(guān)鍵字PRINT來完成,這與在PL/SQL塊中使用的DBMS_OUTPUT.PUT_LINE是不同的。

主站蜘蛛池模板: 太仆寺旗| 巴南区| 西丰县| 永修县| 洪雅县| 蚌埠市| 广元市| 峨眉山市| 万年县| 揭西县| 通州市| 扶沟县| 兴文县| 临澧县| 澄迈县| 乐亭县| 龙游县| 巴彦淖尔市| 鸡泽县| 衡水市| 宣化县| 紫云| 吉木萨尔县| 通许县| 射阳县| 杂多县| 巴塘县| 墨玉县| 定南县| 张北县| 大埔县| 北宁市| 福泉市| 肇源县| 古田县| 关岭| 分宜县| 台前县| 当雄县| 达拉特旗| 布尔津县|