1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Oracle中的替換變量,&變量名,&&變量名

        發布時間:  2012/7/6 17:49:58

        替換變量(僅用于SQL *Plus或者用于原理和SQL *Plus相同的開發工具):
        臨時存儲值
        利用它可以達到創建通用腳本的目的
        利用它可以達到和用戶交互,故在SQL *Plus中又稱交互式命令

        替換變量的格式式在變量名稱前加一個&,以便在運行SQL命令時提示用戶輸入替換數據,然后按輸入數據運行SQL命令
        語法:
        (1)& :“&變量名”eg:&name;

         

        生命周期:單次引用中,不需要聲明,如果替換字符或日期類型,最好用單引號擴起
        使用范圍:where、order by、列表達式、表名、整個SELECT 語句中

         

        (2)&& :“&&變量名”eg:&&name;
        生命周期:整個會話(session連接),不需要聲明

        (3)define :“define 變量名=變量值”eg:DEFINE a = clark;
        生命周期:整個會話,預先聲明,使用時用&引用聲明的變量
        define variable=用戶創建的CHAR類型的值:define 變量名=值;
        define 變量名:查看變量命令。 
        undefine 變量名:清除變量
        define:查看在當前會話中所有的替換變量和它們的值

        (4)accept

        生命周期:整個會話
        預先聲明,可以客戶化提示信息,使用時用&引用聲明的變量。
        定義:
        accept 變量名name number/char/date prompt '提示信息內容'即:ACC[EPT] variable [NUM[BER] | CHAR | DATE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]
        解釋:
        PROMPT命令:用于輸出提示用戶的信息,以便使用戶了解腳本文件的功能和運行情況
        PAUSE命令:用于暫停腳本文件的運行
        HIDE選項:用于隱藏用戶的輸入,使別人不可見,安全
        這條命令的意思是:當plsql程序段執行到變量name的時候,此時需要用戶的交互才能繼續執行下去,plsql程序段會顯示“提示信息內容”讓用戶輸入相關信息(如果指定hide選項,那么在接下去用戶輸入的東西將被用星號顯示出來增加安全,有點像輸入密碼),用戶輸入的內容被接收到并且把它付給name,關于在“提示信息內容”下用戶輸入的內容的類型,plsql程序段開發人員來通過number/char/date指定,變量name得到正確的值以后,繼續執行相關下面的程序!
        例:accept a char prompt '請輸入員工的雇傭時間(yyyy-mm-dd):' hide 
        例:accept a char prompt 'input a:' hide

        verify:是否給出原值及新值提示。

        set verify on/off;

        具體請參看下面的例子:

        plsql程序1:

        1. declare  
        2.    v_sal number(6,2);  
        3.    v_ename emp.ename%type:='&ename';  
        4. begin  
        5.    select sal into v_sal from emp  
        6. where lower(ename)=lower(v_ename);  
        7. if v_sal<2000 then  
        8.    update emp set sal=v_sal + 200  
        9.       where lower(ename)=lower(v_ename);  
        10. end if;  
        11. end;  
        12.   
        13. /  

        plsql程序2:

        1. declare  
        2.    v_sal number(6,2);  
        3.    v_ename emp.ename%type:='&&ename';  
        4. begin  
        5.    select sal into v_sal from emp  
        6. where lower(ename)=lower(v_ename);  
        7. if v_sal<2000 then  
        8.    update emp set sal=v_sal + 200  
        9.       where lower(ename)=lower(v_ename);  
        10. end if;  
        11. end;  
        12.   
        13. /  

        secureCRT的一個會話中先執行程序2,再次執行程序1,會發現直接PL/SQL procedure successfully completed.
        而不讓我輸入ename,將set verify off也不行
        另一個打開會話 將set verify off后,每次執行程序1都會讓你輸入ename。
        這就是在前面一個會話執行程序2的時候已經將ename,保存為了會話的變量,而不是plsql程序的變量。


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线