久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      oracle存儲過程中賦值給變量的方法有哪些

      賦值給變量的方法:1、使用“:=”直接賦值,語法“變量名:=值;”;2、使用“select 表字段 into 變量 from 表”語句;3、使用“execute immediate sql語句字符串 into 變量”語句。

      oracle存儲過程中賦值給變量的方法有哪些

      本教程操作環(huán)境:Windows7系統(tǒng)、Oracle 11g版、Dell G3電腦。

      Oracle存儲過程 變量聲明和賦值的方法

      1.聲明變量的3種方式

      按照數(shù)據(jù)類型的聲明方式進行區(qū)分

      方式一:直接聲明數(shù)據(jù)類型

      格式:變量名 數(shù)據(jù)類型(大小)

      V_START_DATE VARCHAR2(19); v_num number;

        說明:

        設(shè)置為字符串類型時,需要指定大小,否則報錯;

        變量的聲明必須在"begin"關(guān)鍵字之前進行。

      --錯誤用法 BEGIN v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';

      方式二:使用%TYPE聲明

      格式:變量名 表名.字段名%TYPE

      含義:該變量的數(shù)據(jù)類型與指定表的指定字段的數(shù)據(jù)類型一致

      V_ORGSEQ BASE_ORG_INFO.ORGSEQ%TYPE;

        方式三:使用%ROWTYPE聲明

        格式:變量名 表名%ROWTYPE

        含義:該變量的數(shù)據(jù)類型與指定表的指定行記錄(所有字段)的數(shù)據(jù)類型一致

      --VIRTUAL_CARD表整行數(shù)據(jù) V_ROW_VIRTUAL_CARD VIRTUAL_CARD%ROWTYPE; 

        小結(jié):

        在存儲過程中,聲明變量時,不需要使用關(guān)鍵字"DECLARE"; 

        變量不區(qū)分大小寫;

        變量在使用前必須聲明。

      2.變量賦值的3種方式

      方式一:直接賦值,使用":="

        使用條件:適用于聲明變量的前2種方式。

      V_ORGID :=  '110';  

        說明:

        變量后面跟不能直接是sql語句,sql不會執(zhí)行,可以參考方式三。

      --錯誤用法 V_ORGSEQ := SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO; --正確用法 V_ORGSEQ := 'SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO';

        變量的聲明和賦值可以一塊進行。

      --正確用法 v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)'; BEGIN  /* 具體業(yè)務(wù) */ END;

      方式二:select 表字段 into 變量 from 表

      變形一:查詢指定表的一個指定字段

        使用條件:適用于聲明變量的前2種方式可以使用

      --根據(jù)醫(yī)療機構(gòu)ID查詢對應(yīng)的父機構(gòu)的機構(gòu)序列 SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO  WHERE ORGID =        (SELECT PARENTORGID FROM BASE_ORG_INFO WHERE ORGID = V_ORGID);

      變形二:查詢指定表的所有字段

        使用條件:只適用于聲明變量的第3種方式

      --將id=5120的VIRTUAL_CARD表數(shù)據(jù)賦值給變量V_ROW_VIRTUAL_CARD SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T where t.id = 5120;

        說明:

        查詢結(jié)果只能返回一條記錄;

        查詢的表字段必須是該表的所有字段。

        錯誤舉例:

      --錯誤舉例一:查詢的是所有表記錄 SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T; --錯誤舉例二:查詢的是該表的多個字段 SELECT t.id,t.name INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T;  

      方式三:execute immediate sql語句字符串 into 變量

      declare/* 存儲過程,不需要聲明 */   v_sql varchar2(100);   V_ORGSEQ varchar2(100); begin   v_sql := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';   --V_ORGSEQ賦值   execute immediate v_sql INTO V_ORGSEQ;   --打印結(jié)果   DBMS_OUTPUT.put_line(V_ORGSEQ); END;

      3.變量的調(diào)用

        一般來說,變量只有這3種使用場景:賦值、邏輯判斷、算術(shù)運算;

        說明:不能用作查詢列

      --錯誤調(diào)用 select V_ORGSEQ from dual;

        使用%ROWTYPE聲明的變量如何調(diào)用?

        利用"變量名.表字段"的方式可以取到該表中指定行(返回行)的指定列(任意列)所代表的數(shù)據(jù)。

      --V_ROW_VIRTUAL_CARD賦值 SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T where t.id = 5120; --調(diào)用 DBMS_OUTPUT.put_line(V_ROW_VIRTUAL_CARD.ID);  

      推薦教程:《Oracle教程》

      贊(1)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號