日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

PL/SQL块结构和组成元素

發布時間:2024/9/20 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PL/SQL块结构和组成元素 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇主要內容如下:

2.1?? PL/SQL塊

2.2?? PL/SQL結構

2.3?? 標識符

2.4?? PL/SQL 變量類型

2.4.1? 變量類型

2.4.2? 復合類型

2.4.2.1 記錄類型

2.4.2.2 數組類型

2.4.2.3 使用%TYPE

2.4.3 ?使用%ROWTYPE

2.4.4 ?LOB類型

2.4.5? BIND 變量

2.4.6 ?PL/SQL 表(TABLE)

2.5?? 運算符和表達式(數據定義)

2.5.1? 關系運算符

2.5.2? 一般運算符

2.5.3? 邏輯運算符

2.6?? 變量賦值

2.6.1? 字符及數字運算特點

2.6.2? BOOLEAN 賦值

2.6.3? 數據庫賦值

2.6.4? 可轉換的類型賦值

2.7?? 變量作用范圍及可見性

2.8?? 注釋

2.9?? 簡單例子

2.9.1?? 簡單數據插入例子

2.9.2?? 簡單數據刪除例子


2.1?? PL/SQL塊

PL/SQL程序由三個塊組成,即聲明部分、執行部分、異常處理部分。

PL/SQL塊的結構如下:?

? DECLARE??
????--聲明部分:?在此聲明PL/SQL用到的變量,類型及游標,以及局部的存儲過程和函數
??BEGIN
????--?執行部分:??過程及SQL?語句??,?即程序的主要部分
??EXCEPTION
????--?執行異常部分:?錯誤處理
??END;

其中:執行部分不能省略。

PL/SQL塊可以分為三類:?

  • 無名塊或匿名塊(anonymous):動態構造,只能執行一次,可調用其它程序,但不能被其它程序調用。
  • 命名塊(named):是帶有名稱的匿名塊,這個名稱就是標簽。
  • 子程序(subprogram):存儲在數據庫中的存儲過程、函數等。當在數據庫上建立好后可以在其它程序中調用它們。
  • 觸發器 (Trigger):當數據庫發生操作時,會觸發一些事件,從而自動執行相應的程序。
  • 程序包(package):存儲在數據庫中的一組子程序、變量定義。在包中的子程序可以被其它程序包或子程序調用。但如果聲明的是局部子程序,則只能在定義該局部子程序的塊中調用該局部子程序。
  • 2.2?? PL/SQL結構

    l?????? PL/SQL塊中可以包含子塊;

    l?????? 子塊可以位于 PL/SQL中的任何部分;

    l?????? 子塊也即PL/SQL中的一條命令;

    2.3?? 標識符

    PL/SQL程序設計中的標識符定義與SQL 的標識符定義的要求相同。要求和限制有:

    l?????? 標識符名不能超過30字符;

    l?????? 第一個字符必須為字母;

    l?????? 不分大小寫;

    l?????? 不能用’-‘(減號);

    l?????? 不能是SQL保留字。

    提示:? 一般不要把變量名聲明與表中字段名完全一樣,如果這樣可能得到不正確的結果.

    例如:下面的例子將會刪除所有的紀錄,而不是’EricHu’的記錄;

    DECLARE
    ???ename?varchar2(20)?:='EricHu';
    BEGIN
    ??DELETE?FROM?scott.emp?WHERE?ename=ename;
    END;

    ??? 變量命名在PL/SQL中有特別的講究,建議在系統的設計階段就要求所有編程人員共同遵守一定的要求,使得整個系統的文檔在規范上達到要求。下面是建議的命名方法:

    標識符?

    命名規則?

    例子?

    程序變量

    V_name

    V_name

    程序常量

    C_Name

    C_company_name

    游標變量

    Cursor_Name

    Cursor_Emp

    異常標識

    E_name

    E_too_many

    表類型

    Name_table_type

    Emp_record_type

    Name_table

    Emp

    記錄類型

    Name_record

    Emp_record

    SQL*Plus 替代變量

    P_name

    P_sal

    綁定變量

    G_name

    G_year_sal

    2.4?? PL/SQL 變量類型

    在前面的介紹中,有系統的數據類型,也可以自定義數據類型。下表給出ORACLE類型和PL/SQL中的變量類型的合法使用列表:

    2.4.1? 變量類型

    在ORACLE8i中可以使用的變量類型有:

    類型

    子類

    說???? 明

    范?? 圍

    ORACLE限制

    CHAR

    Character

    String

    Rowid

    Nchar

    定長字符串

    民族語言字符集

    0à32767

    可選,確省=1

    2000

    VARCHAR2

    Varchar, String

    NVARCHAR2

    可變字符串

    民族語言字符集

    0à32767

    4000

    4000

    BINARY_INTEGER

    ?

    帶符號整數,為整數計算優化性能

    ??

    NUMBER(p,s)

    Dec

    Double precision

    Integer

    Int

    Numeric

    Real

    Small int

    小數, NUMBER 的子類型

    高精度實數

    整數, NUMBER 的子類型

    整數, NUMBER 的子類型

    與NUMBER等價

    與NUMBER等價

    整數, 比 integer 小

    ??

    LONG

    ?

    變長字符串

    0->2147483647

    32,767字節

    DATE

    ?

    日期型

    公元前4712年1月1日至公元后4712年12月31日

    ?

    BOOLEAN

    ?

    布爾型

    TRUE, FALSE,NULL

    不使用

    ROWID

    ?

    存放數據庫行號

    ??

    UROWID

    ?

    通用行標識符,字符類型

    ??
    ?????

    1. 插入一條記錄并顯示;

    DECLARE
    ???Row_id?ROWID;
    ???info????VARCHAR2(40);
    BEGIN
    ??INSERT?INTO?scott.dept?VALUES?(90,?'財務室',?'海口')
    ??RETURNING?rowid,?dname||':'||to_char(deptno)||':'||loc
    ??INTO?row_id,?info;
    ??DBMS_OUTPUT.PUT_LINE('ROWID:'||row_id);
    ??DBMS_OUTPUT.PUT_LINE(info);
    END;

    其中:

    RETURNING子句用于檢索INSERT語句中所影響的數據行數,當INSERT語句使用VALUES 子句插入數據時,RETURNING 字句還可將列表達式、ROWID和REF值返回到輸出變量中。在使用RETURNING 子句是應注意以下幾點限制:

    1.不能與DML語句和遠程對象一起使用;

    2.不能檢索LONG 類型信息;

    3.當通過視圖向基表中插入數據時,只能與單基表視圖一起使用。

    2. 修改一條記錄并顯示

    DECLARE
    ???Row_id?ROWID;
    ???info???VARCHAR2(40);
    BEGIN
    ??UPDATE?dept?SET?deptno=100?WHERE?DNAME='財務室'
    ??RETURNING?rowid,?dname||':'||to_char(deptno)||':'||loc
    ??INTO?row_id,?info;
    ??DBMS_OUTPUT.PUT_LINE('ROWID:'||row_id);
    ??DBMS_OUTPUT.PUT_LINE(info);
    END;

    其中:

    RETURNING子句用于檢索被修改行的信息。當UPDATE語句修改單行數據時,RETURNING 子句可以檢索被修改行的ROWID和REF值,以及行中被修改列的列表達式,并可將他們存儲到PL/SQL變量或復合變量中;當UPDATE語句修改多行數據時,RETURNING 子句可以將被修改行的ROWID和REF值,以及列表達式值返回到復合變量數組中。在UPDATE中使用RETURNING 子句的限制與INSERT語句中對RETURNING子句的限制相同。

    3. 刪除一條記錄并顯示

    DECLARE
    ???Row_id?ROWID;
    ???info???VARCHAR2(40);
    BEGIN
    ??DELETE?dept?WHERE?DNAME='辦公室'
    ??RETURNING?rowid,?dname||':'||to_char(deptno)||':'||loc
    ??INTO?row_id,?info;
    ??DBMS_OUTPUT.PUT_LINE('ROWID:'||row_id);
    ??DBMS_OUTPUT.PUT_LINE(info);
    END;

    其中:

    RETURNING子句用于檢索被刪除行的信息:當DELETE語句刪除單行數據時,RETURNING 子句可以檢索被刪除行的ROWID和REF值,以及被刪除列的列表達式,并可將他們存儲到PL/SQL變量或復合變量中;當DELETE語句刪除多行數據時,RETURNING 子句可以將被刪除行的ROWID和REF值,以及列表達式值返回到復合變量數組中。在DELETE中使用RETURNING 子句的限制與INSERT語句中對RETURNING子句的限制相同。

    2.4.2? 復合類型

    ??? ORACLE 在 PL/SQL 中除了提供象前面介紹的各種類型外,還提供一種稱為復合類型的類型---記錄和表.

    2.4.2.1 記錄類型

    記錄類型類似于C語言中的結構數據類型,它把邏輯相關的、分離的、基本數據類型的變量組成一個整體存儲起來,它必須包括至少一個標量型或RECORD 數據類型的成員,稱作PL/SQL RECORD 的域(FIELD),其作用是存放互不相同但邏輯相關的信息。在使用記錄數據類型變量時,需要先在聲明部分先定義記錄的組成、記錄的變量,然后在執行部分引用該記錄變量本身或其中的成員。

    定義記錄類型語法如下:

    ? TYPE?record_name?IS?RECORD(
    ???v1?data_type1??[NOT?NULL]??[:=?default_value?],
    ???v2?data_type2??[NOT?NULL]??[:=?default_value?],
    ???......
    ???vn?data_typen??[NOT?NULL]??[:=?default_value?]?);

    4 ?

    ? DECLARE?
    ???TYPE?test_rec?IS?RECORD(
    ?????????Name?VARCHAR2(30)?NOT?NULL?:=?'胡勇',
    ?????????Info?VARCHAR2(100));
    ???rec_book?test_rec;
    BEGIN
    ???rec_book.Name?:='胡勇';
    ???rec_book.Info?:='談PL/SQL編程;';
    ???DBMS_OUTPUT.PUT_LINE(rec_book.Name||'??'?||rec_book.Info);
    END;

    可以用 SELECT語句對記錄變量進行賦值,只要保證記錄字段與查詢結果列表中的字段相配即可。

    5 ?

    DECLARE
    --定義與hr.employees表中的這幾個列相同的記錄數據類型
    ???TYPE?RECORD_TYPE_EMPLOYEES?IS?RECORD(
    ????????f_name???hr.employees.first_name%TYPE,
    ????????h_date???hr.employees.hire_date%TYPE,
    ????????j_id?????hr.employees.job_id%TYPE);
    --聲明一個該記錄數據類型的記錄變量
    ???v_emp_record?RECORD_TYPE_EMPLOYEES;
    BEGIN
    ???SELECT?first_name,?hire_date,?job_id?INTO?v_emp_record
    ???FROM?employees
    ???WHERE?employee_id?=?&emp_id;
    ???DBMS_OUTPUT.PUT_LINE('雇員名稱:'||v_emp_record.f_name
    ?????????????||'??雇傭日期:'||v_emp_record.h_date
    ?????????????||'??崗位:'||v_emp_record.j_id);
    END;

    一個記錄類型的變量只能保存從數據庫中查詢出的一行記錄,若查詢出了多行記錄,就會出現錯誤。

    2.4.2.2 數組類型

    數據是具有相同數據類型的一組成員的集合。每個成員都有一個唯一的下標,它取決于成員在數組中的位置。在PL/SQL中,數組數據類型是VARRAY。

    定義VARRY數據類型語法如下:

    TYPE?varray_name?IS?VARRAY(size)?OF?element_type?[NOT?NULL];

    varray_name是VARRAY數據類型的名稱,size是下整數,表示可容納的成員的最大數量,每個成員的數據類型是element_type。默認成員可以取空值,否則需要使用NOT NULL加以限制。對于VARRAY數據類型來說,必須經過三個步驟,分別是:定義、聲明、初始化。?

    6 ?

    DECLARE
    --定義一個最多保存5個VARCHAR(25)數據類型成員的VARRAY數據類型
    ???TYPE?reg_varray_type?IS?VARRAY(5)?OF?VARCHAR(25);
    --聲明一個該VARRAY數據類型的變量
    ???v_reg_varray?REG_VARRAY_TYPE;
    BEGIN
    --用構造函數語法賦予初值
    ???v_reg_varray?:=?reg_varray_type
    ?????????('中國',?'美國',?'英國',?'日本',?'法國');
    ???DBMS_OUTPUT.PUT_LINE('地區名稱:'||v_reg_varray(1)||'、'
    ????????????????????????????????????||v_reg_varray(2)||'、'
    ????????????????????????????????????||v_reg_varray(3)||'、'
    ????????????????????????????????????||v_reg_varray(4));
    ???DBMS_OUTPUT.PUT_LINE('賦予初值NULL的第5個成員的值:'||v_reg_varray(5));
    --用構造函數語法賦予初值后就可以這樣對成員賦值
    ???v_reg_varray(5)?:=?'法國';
    ???DBMS_OUTPUT.PUT_LINE('第5個成員的值:'||v_reg_varray(5));
    END;

    2.4.2.3 使用%TYPE

    定義一個變量,其數據類型與已經定義的某個數據變量(尤其是表的某一列)的數據類型相一致,這時可以使用%TYPE。

    使用%TYPE特性的優點在于:

    l???????? 所引用的數據庫列的數據類型可以不必知道;

    l???????? 所引用的數據庫列的數據類型可以實時改變,容易保持一致,也不用修改PL/SQL程序。

    7?

    ? DECLARE
    ???--?用%TYPE?類型定義與表相配的字段
    ???TYPE?T_Record?IS?RECORD(
    ????????T_no?emp.empno%TYPE,
    ????????T_name?emp.ename%TYPE,
    ????????T_sal?emp.sal%TYPE?);
    ???--?聲明接收數據的變量
    ???v_emp?T_Record;
    BEGIN
    ???SELECT?empno,?ename,?sal?INTO?v_emp?FROM?emp?WHERE?empno=7788;
    ???DBMS_OUTPUT.PUT_LINE
    ????(TO_CHAR(v_emp.t_no)||'?'||v_emp.t_name||'??'?||?TO_CHAR(v_emp.t_sal));
    END;

    8?

    DECLARE
    ???v_empno?emp.empno%TYPE?:=&no;
    ???Type?t_record?is?record?(
    ????????v_name???emp.ename%TYPE,
    ????????v_sal????emp.sal%TYPE,
    ????????v_date???emp.hiredate%TYPE);
    ???Rec?t_record;
    BEGIN
    ???SELECT?ename,?sal,?hiredate?INTO?Rec?FROM?emp?WHERE?empno=v_empno;
    ???DBMS_OUTPUT.PUT_LINE(Rec.v_name||'---'||Rec.v_sal||'--'||Rec.v_date);
    END;

    2.4.3?使用%ROWTYPE

    PL/SQL 提供%ROWTYPE操作符, 返回一個記錄類型, 其數據類型和數據庫表的數據結構相一致。

    使用%ROWTYPE特性的優點在于:

    l???????? 所引用的數據庫中列的個數和數據類型可以不必知道;

    l???????? 所引用的數據庫中列的個數和數據類型可以實時改變,容易保持一致,也不用修改PL/SQL程序。

    9?

    DECLARE
    ????v_empno?emp.empno%TYPE?:=&no;
    ????rec?emp%ROWTYPE;
    BEGIN
    ????SELECT?*?INTO?rec?FROM?emp?WHERE?empno=v_empno;
    ????DBMS_OUTPUT.PUT_LINE('姓名:'||rec.ename||'工資:'||rec.sal||'工作時間:'||rec.hiredate);?
    END;

    2.4.4? LOB類型

    ??? ORACLE提供了LOB (Large OBject)類型,用于存儲大的數據對象的類型。ORACLE目前主要支持BFILE, BLOB, CLOB 及 NCLOB 類型。

    BFILE (Movie)

    ??? 存放大的二進制數據對象,這些數據文件不放在數據庫里,而是放在操作系統的某個目錄里,數據庫的表里只存放文件的目錄。?

    BLOB(Photo)

    ??? 存儲大的二進制數據類型。變量存儲大的二進制對象的位置。大二進制對象的大小<=4GB。

    CLOB(Book)

    ??? 存儲大的字符數據類型。每個變量存儲大字符對象的位置,該位置指到大字符數據塊。大字符對象的大小<=4GB。

    NCLOB

    ??? 存儲大的NCHAR字符數據類型。每個變量存儲大字符對象的位置,該位置指到大字符數據塊。大字符對象的大小<=4GB。

    2.4.5? BIND 變量

    綁定變量是在主機環境中定義的變量。在PL/SQL 程序中可以使用綁定變量作為他們將要使用的其它變量。為了在PL/SQL 環境中聲明綁定變量,使用命令VARIABLE。例如:

    VARIABLE?return_code?NUMBER
    VARIABLE?return_msg?VARCHAR2(20)

    可以通過SQL*Plus命令中的PRINT 顯示綁定變量的值。例如:

    ? PRINT?return_code
    PRINT?return_msg

    10

    VARIABLE?result?NUMBER;
    BEGIN
    ??SELECT?(sal*10)+nvl(comm,?0)?INTO?:result?FROM?emp?
    ??WHERE?empno=7844;
    END;
    --然后再執行
    PRINT?result

    2.4.6 ?PL/SQL 表(TABLE)

    定義記錄表(或索引表)數據類型。它與記錄類型相似,但它是對記錄類型的擴展。它可以處理多行記錄,類似于高級中的二維數組,使得可以在PL/SQL中模仿數據庫中的表。

    定義記錄表類型的語法如下:?

    TYPE?table_name?IS?TABLE?OF?element_type?[NOT?NULL]
    INDEX?BY?[BINARY_INTEGER?|?PLS_INTEGER?|?VARRAY2];

    關鍵字INDEX BY表示創建一個主鍵索引,以便引用記錄表變量中的特定行。

    方法

    描述

    EXISTS(n)

    如果集合的第n個成員存在,則返回true

    COUNT

    返回已經分配了存儲空間即賦值了的成員數量

    FIRST

    LAST

    FIRST:返回成員的最低下標值

    LAST: 返回成員的最高下標值

    PRIOR(n)

    返回下標為n的成員的前一個成員的下標。如果沒有則返回NULL

    NEXT(N)

    返回下標為n的成員的后一個成員的下標。如果沒有則返回NULL

    TRIM

    TRIM:刪除末尾一個成員

    TRIM(n) :刪除末尾n個成員

    DELETE

    DELETE:刪除所有成員

    DELETE(n) :刪除第n個成員

    DELETE(m, n) :刪除從n到m的成員

    EXTEND

    EXTEND:添加一個null成員

    EXTEND(n):添加n個null成員

    EXTEND(n,i):添加n個成員,其值與第i個成員相同

    LIMIT

    返回在varray類型變量中出現的最高下標值

    11?

    DECLARE
    ??TYPE?dept_table_type?IS?TABLE?OF?
    ???????dept%ROWTYPE?INDEX?BY?BINARY_INTEGER;
    ??my_dname_table?dept_table_type;
    ??v_count?number(2)?:=4;
    BEGIN
    ??FOR?int?IN?1?..?v_count?LOOP
    ????SELECT?*?INTO?my_dname_table(int)?FROM?dept?WHERE?deptno=int*10;
    ??END?LOOP;
    ??FOR?int?IN?my_dname_table.FIRST?..?my_dname_table.LAST?LOOP
    ??DBMS_OUTPUT.PUT_LINE('Department?number:?'||my_dname_table(int).deptno);
    ??DBMS_OUTPUT.PUT_LINE('Department?name:?'||?my_dname_table(int).dname);
    ??END?LOOP;
    END;

    12:按一維數組使用記錄表?

    ? DECLARE
    --定義記錄表數據類型
    ???TYPE?reg_table_type?IS?TABLE?OF?varchar2(25)
    ???INDEX?BY?BINARY_INTEGER;
    --聲明記錄表數據類型的變量
    ???v_reg_table?REG_TABLE_TYPE;
    BEGIN
    ???v_reg_table(1)?:=?'Europe';
    ???v_reg_table(2)?:=?'Americas';
    ???v_reg_table(3)?:=?'Asia';
    ???v_reg_table(4)?:=?'Middle?East?and?Africa';
    ???v_reg_table(5)?:=?'NULL';
    ???DBMS_OUTPUT.PUT_LINE('地區名稱:'||v_reg_table?(1)||'、'
    ????????????????????????????????????||v_reg_table?(2)||'、'
    ????????????????????????????????????||v_reg_table?(3)||'、'
    ????????????????????????????????????||v_reg_table?(4));
    ???DBMS_OUTPUT.PUT_LINE('第5個成員的值:'||v_reg_table(5));
    END;

    13

    :按二維數組使用記錄表 DECLARE
    --定義記錄表數據類型
    ???TYPE?emp_table_type?IS?TABLE?OF?employees%ROWTYPE
    ???INDEX?BY?BINARY_INTEGER;
    --聲明記錄表數據類型的變量
    ???v_emp_table?EMP_TABLE_TYPE;
    BEGIN
    ???SELECT?first_name,?hire_date,?job_id?INTO
    ???v_emp_table(1).first_name,v_emp_table(1).hire_date,?v_emp_table(1).job_id
    ???FROM?employees?WHERE?employee_id?=?177;
    ???SELECT?first_name,?hire_date,?job_id?INTO
    ???v_emp_table(2).first_name,v_emp_table(2).hire_date,?v_emp_table(2).job_id
    ???FROM?employees?WHERE?employee_id?=?178;
    ???DBMS_OUTPUT.PUT_LINE('177雇員名稱:'||v_emp_table(1).first_name
    ?????????????||'??雇傭日期:'||v_emp_table(1).hire_date
    ?????????????||'??崗位:'||v_emp_table(1).job_id);
    ???DBMS_OUTPUT.PUT_LINE('178雇員名稱:'||v_emp_table(2).first_name
    ?????????????||'??雇傭日期:'||v_emp_table(2).hire_date
    ?????????????||'??崗位:'||v_emp_table(2).job_id);
    END;

    2.5?? 運算符和表達式(數據定義)

    2.5.1? 關系運算符

    運算符

    意義

    =

    等于

    <> , != , ~= , ^=

    不等于

    <?

    小于

    >?

    大于

    <=

    小于或等于

    >=

    大于或等于

    ?

    2.5.2? 一般運算符

    運算符

    意義

    +

    加號

    -

    減號

    *

    乘號

    /

    除號

    :=

    賦值號

    =>

    關系號

    ..

    范圍運算符

    ||

    字符連接符

    2.5.3? 邏輯運算符

    運算符

    意義

    IS NULL

    是空值?

    BETWEEN? AND

    介于兩者之間

    IN

    在一列值中間?

    AND

    邏輯與

    OR

    邏輯或

    NOT

    取返,如IS NOT NULL, NOT IN

    2.6?? 變量賦值

    在PL/SQL編程中,變量賦值是一個值得注意的地方,它的語法如下:

    ?? variable? := expression ;

    ?? variable 是一個PL/SQL變量, expression 是一個PL/SQL 表達式.

    2.6.1? 字符及數字運算特點

    空值加數字仍是空值:NULL + < 數字> = NULL

    空值加(連接)字符,結果為字符:NULL || <字符串> = < 字符串>

    2.6.2? BOOLEAN 賦值

    布爾值只有TRUE, FALSE及 NULL 三個值。如:

    DECLARE
    ??bDone?BOOLEAN;
    BEGIN
    ??bDone?:=?FALSE;
    ??WHILE?NOT?bDone?LOOP
    ??Null;
    ??END?LOOP;
    END;

    2.6.3? 數據庫賦值

    ??? 數據庫賦值是通過 SELECT語句來完成的,每次執行 SELECT語句就賦值一次,一般要求被賦值的變量與SELECT中的列名要一一對應。如:

    14?

    ? DECLARE
    ??emp_id????emp.empno%TYPE?:=7788;
    ??emp_name??emp.ename%TYPE;
    ??wages?????emp.sal%TYPE;
    BEGIN
    ??SELECT?ename,?NVL(sal,0)?+?NVL(comm,0)?INTO?emp_name,?wages?
    ??FROM?emp?WHERE?empno?=?emp_id;
    ??DBMS_OUTPUT.PUT_LINE(emp_name||'----'||to_char(wages));
    END;

    提示:不能將SELECT語句中的列賦值給布爾變量。?

    2.6.4? 可轉換的類型賦值

    l?????? CHAR 轉換為 NUMBER

    使用 TO_NUMBER 函數來完成字符到數字的轉換,如:

    v_total := TO_NUMBER('100.0') + sal;

    l?????? NUMBER 轉換為CHAR?

    ??? 使用 TO_CHAR函數可以實現數字到字符的轉換,如:

    ?v_comm := TO_CHAR('123.45') || '元' ;

    l?????? 字符轉換為日期:?

    使用 TO_DATE函數可以實現? 字符到日期的轉換,如:

    v_date := TO_DATE('2001.07.03','yyyy.mm.dd');

    l?????? 日期轉換為字符?

    使用 TO_CHAR函數可以實現日期到字符的轉換,如:

    v_to_day := TO_CHAR(SYSDATE, 'yyyy.mm.dd hh24:mi:ss') ;

    2.7?? 變量作用范圍及可見性

    在PL/SQL編程中,如果在變量的定義上沒有做到統一的話,可能會隱藏一些危險的錯誤,這樣的原因主要是變量的作用范圍所致。變量的作用域是指變量的有效作用范圍,與其它高級語言類似,PL/SQL的變量作用范圍特點是:

    l?????? 變量的作用范圍是在你所引用的程序單元(塊、子程序、包)內。即從聲明變量開始到該塊的結束。

    l?????? 一個變量(標識)只能在你所引用的塊內是可見的。

    l?????? 當一個變量超出了作用范圍,PL/SQL引擎就釋放用來存放該變量的空間(因為它可能不用了)。

    l?????? 在子塊中重新定義該變量后,它的作用僅在該塊內。

    15?

    DECLARE
    ???Emess?char(80);
    BEGIN
    ???DECLARE
    ??????V1?NUMBER(4);
    ???BEGIN
    ??????SELECT?empno?INTO?v1?FROM?emp?WHERE?LOWER(job)='president';
    ??????DBMS_OUTPUT.PUT_LINE(V1);
    ???EXCEPTION
    ??????When?TOO_MANY_ROWS?THEN
    ?????????DBMS_OUTPUT.PUT_LINE?('More?than?one?president');
    ???END;
    ???DECLARE?
    ??????V1?NUMBER(4);
    ???BEGIN
    ??????SELECT?empno?INTO?v1?FROM?emp?WHERE?LOWER(job)='manager';
    ???EXCEPTION
    ??????When?TOO_MANY_ROWS?THEN
    ??????????DBMS_OUTPUT.PUT_LINE?('More?than?one?manager');
    ???END;
    EXCEPTION
    ???When?others?THEN
    ??????Emess:=substr(SQLERRM,1,80);
    ??????DBMS_OUTPUT.PUT_LINE(emess);
    END;

    2.8?? 注釋

    ??? 在PL/SQL里,可以使用兩種符號來寫注釋,即:

    l?????? 使用雙 ‘-‘ ( 減號) 加注釋

    PL/SQL允許用 – 來寫注釋,它的作用范圍是只能在一行有效。如:

    ? ? V_Sal? NUMBER(12,2); -- 人員的工資變量。

    l???????? 使用 /*?? */? 來加一行或多行注釋,如:

    /***********************************************/

    /* 文件名: department_salary.sql????? */

    /* 作 者: EricHu???????????????????? */

    /* 時 間: 2011-5-9????????????????? */

    /***********************************************/

    提示:被解釋后存放在數據庫中的 PL/SQL 程序,一般系統自動將程序頭部的注釋去掉。只有在 PROCEDURE 之后的注釋才被保留;另外程序中的空行也自動被去掉。?

    2.9?? 簡單例子

    2.9.1?? 簡單數據插入例子

    16

    /***********************************************/
    /*?文件名:?test.sql??????????????????*/
    /*?說?明:
    ???????一個簡單的插入測試,無實際應用。*/
    /*?作?者:?EricHu?????????????????????*/
    /*?時?間:?2011-5-9??????????????????*/
    /***********************************************/
    DECLARE
    ??v_ename???VARCHAR2(20)?:=?'Bill';
    ??v_sal???????NUMBER(7,2)?:=1234.56;
    ??v_deptno???NUMBER(2)?:=?10;
    ??v_empno???NUMBER(4)?:=?8888;
    BEGIN
    ??INSERT?INTO?emp?(?empno,?ename,?JOB,?sal,?deptno?,?hiredate?)??
    ??VALUES?(v_empno,?v_ename,?'Manager',?v_sal,?v_deptno,?
    ????????????TO_DATE('1954.06.09','yyyy.mm.dd')?);
    ??COMMIT;
    END;

    2.9.2?? 簡單數據刪除例子

    17

    /***********************************************/
    /*?文件名:?test_deletedata.sql??????*/
    /*?說?明:
    ???????簡單的刪除例子,不是實際應用。?*/
    /*?作?者:?EricHu?????????????????????*/
    /*?時?間:?2011-5-9??????????????????*/
    /***********************************************/
    DECLARE
    ??v_ename???VARCHAR2(20)?:=?'Bill';
    ??v_sal???????NUMBER(7,2)?:=1234.56;
    ??v_deptno???NUMBER(2)?:=?10;
    ??v_empno???NUMBER(4)?:=?8888;
    BEGIN
    ??INSERT?INTO?emp?(?empno,?ename,?JOB,?sal,?deptno?,?hiredate?)??
    VALUES?(?v_empno,?v_ename,?‘Manager’,?v_sal,?v_deptno,?
    TO_DATE(’1954.06.09’,’yyyy.mm.dd’)?);
    ??COMMIT;
    END;
    ?DECLARE
    ??v_empno???number(4)?:=?8888;
    BEGIN
    ??DELETE?FROM?emp?WHERE?empno=v_empno;
    ??COMMIT;
    END;

    總結

    以上是生活随笔為你收集整理的PL/SQL块结构和组成元素的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    91精品视频观看 | 国产中文自拍 | 五月天天在线 | 99精品在线视频观看 | 国内丰满少妇猛烈精品播放 | 欧美日韩高清一区二区 | 最新av网站在线观看 | 人人澡人人爱 | 国产黄色片免费在线观看 | 久久97视频 | 9免费视频 | 麻豆视频入口 | 蜜臀av免费一区二区三区 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 久久久久国产一区二区三区四区 | 玖玖在线视频观看 | 国产精品免费在线视频 | 欧美日韩在线电影 | 午夜精品久久久久久久99热影院 | 中文亚洲欧美日韩 | 成片人卡1卡2卡3手机免费看 | 久久伊人色综合 | 在线三级播放 | 91.dizhi永久地址最新 | 国产精品综合久久久久久 | 在线看污网站 | 久久久www成人免费精品张筱雨 | 蜜臀av性久久久久av蜜臀妖精 | 国产最新网站 | 国产一区二区影院 | 99久久综合精品五月天 | 激情视频一区二区 | 亚洲美女在线国产 | 激情开心色 | 国产小视频在线 | 九九久久影院 | 91看片看淫黄大片 | 日本久久免费电影 | 亚洲欧洲国产日韩精品 | 亚洲精品av中文字幕在线在线 | 亚洲精品久久久蜜桃直播 | 欧美一级片免费在线观看 | 亚洲免费小视频 | 国产人成看黄久久久久久久久 | 国产亚洲精品中文字幕 | 国产福利91精品一区二区三区 | 国产综合在线视频 | 人人澡视频 | 久久99精品一区二区三区三区 | 亚洲午夜精品在线观看 | 五月色丁香 | 最近中文字幕高清字幕在线视频 | 国产精品私人影院 | 人人插人人艹 | 成人免费一区二区三区在线观看 | 久久夜av | 三级av免费观看 | 黄色视屏免费在线观看 | 91精品国自产在线观看 | 在线亚洲高清视频 | 欧洲亚洲国产视频 | 欧美另类xxxxx | 在线有码中文 | 97色婷婷成人综合在线观看 | 人人舔人人射 | 久久精品xxx | 日韩中文免费视频 | 欧美精品久久人人躁人人爽 | 日韩免费久久 | av在线播放快速免费阴 | 国产免费视频一区二区裸体 | 国产视频黄 | 国产国产人免费人成免费视频 | 久久久黄视频 | 91在线麻豆 | 国产视频在线观看一区二区 | 96久久欧美麻豆网站 | 九色视频网 | 国产一级免费在线 | 在线 精品 国产 | 精品99视频 | 香蕉影院在线 | 精品婷婷 | 久久免费99精品久久久久久 | www.伊人色.com | 成年人天堂com | 久久久久久中文字幕 | 三级黄色免费 | 新版资源中文在线观看 | 欧美一级艳片视频免费观看 | 精品国产乱码 | 国产精品二区三区 | 狠狠干夜夜 | 8x成人在线 | 国产成人av在线影院 | 亚洲精品大片www | 久久精品综合一区 | 国产不卡在线观看视频 | 亚洲激情电影在线 | 黄色网www | 久久精品久久久久 | av福利在线播放 | 五月香视频在线观看 | 久久视奸| 国产精品69av| www日韩在线 | 亚洲精品国产精品国自 | 美女在线免费观看视频 | 天天爽天天摸 | 黄色国产高清 | 97av免费视频 | 久久综合之合合综合久久 | 激情婷婷网 | 99视| 91c网站色版视频 | 97av精品 | 最近2019中文免费高清视频观看www99 | 一级欧美黄 | 五月亚洲综合 | 三级黄色网址 | 久久亚洲综合色 | 99免费看片 | 伊人久久电影网 | 欧美日韩在线观看一区二区 | 在线观看av片 | 97成人在线观看 | 国产精品video爽爽爽爽 | 91精品亚洲影视在线观看 | 高清av在线免费观看 | 亚洲人成在线观看 | 91九色视频网站 | 在线免费亚洲 | 99视频一区二区 | 中文字幕一区二区三区四区在线视频 | 精品国产成人 | 欧美国产精品一区二区 | a视频在线观看免费 | 激情网在线视频 | 久久综合色一综合色88 | 日韩欧美在线中文字幕 | 日日夜夜综合 | 在线 国产一区 | 少妇bbb搡bbbb搡bbbb | 999久久久久久久久6666 | 国产999免费视频 | 国产精品 日韩精品 | 亚洲一区免费在线 | 97精品国产97久久久久久免费 | 操操操av| 一区二区三区电影 | 久久久人人人 | 一区二区三区三区在线 | 国产精品视频永久免费播放 | 国产精品综合久久久久久 | 色五丁香| 在线观看午夜av | 日韩精品中文字幕在线不卡尤物 | 亚洲国产影院 | 久久99精品国产麻豆宅宅 | 日韩av电影手机在线观看 | 免费av的网站 | 久久人人爽人人爽人人 | 中文字幕在线影院 | 久久草精品 | 99热在线国产 | 狠狠综合网| 久久久久免费电影 | 99精品免费在线 | 国产高清av| 婷婷色六月天 | 99这里精品 | 亚洲免费在线视频 | 精品在线一区二区三区 | 亚洲成av人影院 | 亚洲午夜精品一区 | 香蕉久久国产 | 亚洲在线不卡 | 亚洲va欧美va国产va黑人 | 亚洲国产精品va在线看 | 国产五月婷婷 | 久久国产电影院 | 欧美日韩p片 | 中文字幕中文中文字幕 | a午夜在线 | 免费在线激情电影 | 国产成免费视频 | 免费在线观看av网址 | 成人免费色| 久久久久欧美精品 | 成人h电影在线观看 | 丰满少妇高潮在线观看 | 久久国产免费视频 | 国产精品电影在线 | 九九av| 国产精品一区二区久久精品 | 免费看片成年人 | 日本精品中文字幕在线观看 | 国产老妇av | 国产成人精品一区二区三区网站观看 | 国产精品久久久久久久久久 | 欧美性护士 | 免费国产在线视频 | 精品成人网 | 91视频观看免费 | 日本精品中文字幕在线观看 | 黄色片亚洲 | 国产高清黄色 | 亚洲午夜电影网 | 国产精品观看 | 久草免费在线视频 | 国产成人一二片 | 免费观看国产精品视频 | 亚洲一级黄色片 | 日韩在线观看第一页 | 伊香蕉大综综综合久久啪 | 国产精品一区二区久久精品爱微奶 | 丁香视频 | 久久99精品久久久久久三级 | 99久久99久久精品免费 | 黄色网在线免费观看 | 亚洲欧洲中文日韩久久av乱码 | 欧美小视频在线 | 亚洲dvd | 91插插视频| 色狠狠综合天天综合综合 | 亚洲午夜av | 国产99久久久欧美黑人 | 久久精品中文字幕 | 日韩精品一卡 | 天天干天天天 | 精品国产日本 | 国产最新视频在线观看 | 国产色a在线观看 | 中文字幕精品一区二区精品 | 国产小视频在线观看 | 国产精品mv在线观看 | 成人h视频在线播放 | 国产大尺度视频 | 天天操一操 | 狠狠色丁香久久婷婷综合五月 | 国产一区二区视频在线播放 | 亚洲最新av网址 | 精品一区三区 | 中文字幕av在线免费 | 最新成人在线 | 久草在在线 | 成年人免费看的视频 | 国产精品黄色 | 免费精品在线观看 | 久久成人午夜 | 久久免费观看少妇a级毛片 久久久久成人免费 | 久久怡红院| 五月婷婷久久丁香 | 草久视频在线观看 | 97在线观看免费观看高清 | 中文字幕视频 | 国产精品网站 | 99久久久久久久久久 | 黄色大片日本免费大片 | 久久国产精品久久久 | 日韩av二区| 久久这里只有精品首页 | 日韩欧美精品在线 | 二区三区在线观看 | 亚洲色影爱久久精品 | www激情com | 久久久久久综合网天天 | 97超碰资源 | 四川bbb搡bbb爽爽视频 | av三级av| 亚洲91网站 | 久久影视一区二区 | 911免费视频 | a级国产乱理论片在线观看 特级毛片在线观看 | 91成熟丰满女人少妇 | 91成人在线免费观看 | 日韩电影在线一区 | avwww在线观看 | 国产91精品看黄网站在线观看动漫 | 丁香激情五月 | 丁香五月缴情综合网 | 91私密视频 | 国产一区二区久久久久 | 国产色网站 | 亚洲电影第一页av | 中文在线字幕免 | 狠狠亚洲 | 美女黄网久久 | a资源在线 | 久久成人高清 | 91精品1区2区| 中文字幕av播放 | www国产在线 | 色综合久久久久综合体 | 午夜精品av | 亚洲无人区小视频 | 日韩乱码中文字幕 | 国内久久视频 | 午夜男人影院 | 日日干天夜夜 | www九九热| 中文字幕 欧美性 | 中文永久免费观看 | 欧美夫妻性生活电影 | 国产精品一区二区免费在线观看 | 国产亲近乱来精品 | 999成人网 | 国产精品黄色影片导航在线观看 | 国产黄a三级三级三级三级三级 | 中文字幕日韩在线播放 | 最近中文字幕久久 | 亚洲高清网站 | 精品日本视频 | 免费视频一级片 | 亚洲性少妇性猛交wwww乱大交 | 中文字幕免费一区二区 | 在线观看中文av | 久草精品在线观看 | 99久久99视频 | 日本黄色免费在线观看 | 2023年中文无字幕文字 | 亚洲国产中文在线观看 | 国产精品白丝av | 日本精品中文字幕在线观看 | 一级黄毛片 | 国内精品久久久久久中文字幕 | 中文字幕 国产专区 | 国产精品福利午夜在线观看 | 国产成人亚洲在线观看 | 国产乱对白刺激视频在线观看女王 | 国产免费观看久久黄 | 不卡的一区二区三区 | 手机看片久久 | 色网站免费在线观看 | 免费一级片在线观看 | 人人狠狠 | 国产字幕在线观看 | 99视频网站 | 最近能播放的中文字幕 | 国产高清小视频 | 欧美日韩免费一区二区三区 | 毛片网站观看 | 97超碰国产精品 | 在线视频你懂 | 国产片免费在线观看视频 | 久久av网址| 午夜视频欧美 | 人人爱在线视频 | 永久精品视频 | 天天色播 | 久久久久久精 | 五月婷社区 | 999成人| 69国产精品视频免费观看 | 91精品久| 黄av资源 | 亚洲黄色免费在线 | 美女免费av| 国产一区精品在线 | 天堂va在线观看 | 日韩在线无 | 亚洲 欧美 91 | 在线播放亚洲激情 | 亚洲国产人午在线一二区 | 午夜黄色一级片 | 成人av电影在线观看 | 国产精品一区在线 | 国产精品久久久久永久免费 | 日韩伦理一区二区三区av在线 | av网站手机在线观看 | 日日摸日日添日日躁av | 西西444www大胆高清视频 | 中文字幕在线网址 | 99情趣网视频 | 91九色网站 | 日韩中文字幕免费 | 超级碰碰碰免费视频 | 免费观看的av网站 | 特级毛片网| 亚洲高清视频在线观看免费 | 在线国产一区二区三区 | 99久久爱 | 国产精品对白一区二区三区 | 国产综合福利在线 | 欧美日韩观看 | 中文字幕在线一二 | 精品久久久久久久久久 | 91精品久久久久久久91蜜桃 | 涩涩成人在线 | 久久久www免费电影网 | 精品中文字幕视频 | 97色噜噜 | 999视频在线播放 | 欧美一级免费高清 | 久久伊人色综合 | 国产高清精品在线 | 久久9999久久免费精品国产 | 91av免费看 | 国产精品毛片完整版 | 黄色成人在线 | 中文字幕制服丝袜av久久 | 亚洲国产视频在线 | 日韩欧美一区二区在线播放 | 国产亚洲一区二区在线观看 | 天天干天天摸天天操 | 久久av黄色 | 米奇狠狠狠888 | 毛片一区二区 | 中文字幕视频三区 | 中文字幕国产精品 | 亚洲网站在线 | 麻豆视频大全 | 午夜免费福利视频 | 91自拍成人 | 韩国av在线| 日韩在线中文字幕视频 | 国产精品免费人成网站 | 日韩videos高潮hd | 大荫蒂欧美视频另类xxxx | 91高清完整版在线观看 | 成人一区二区在线 | 国产亚洲精品久久久久久久久久 | 九九视频在线观看视频6 | 成人视屏免费看 | www夜夜操com | 精品久久久久_ | 欧美日比视频 | 久久理论电影网 | 亚洲三级黄色 | 亚洲精品久久久蜜桃 | 韩日av一区二区 | 久草国产在线观看 | 黄色毛片网站在线观看 | 午夜.dj高清免费观看视频 | 在线亚洲欧美视频 | 亚洲精品乱码久久久久v最新版 | 中文在线免费看视频 | 久久视频这里只有精品 | 亚洲狠狠婷婷 | 欧美综合在线视频 | 97国产情侣爱久久免费观看 | 丝袜av网站 | 国产91小视频 | 天天操偷偷干 | 不卡视频在线 | 偷拍区另类综合在线 | 91精品婷婷国产综合久久蝌蚪 | 日日干网 | 黄色一及电影 | 国产一区二区在线影院 | 在线国产99 | 日本中文一区二区 | 在线观看国产高清视频 | 成年人看片网站 | 亚洲一二区视频 | 欧美日韩中文在线视频 | 国产伦精品一区二区三区高清 | 久久综合五月天 | 午夜av电影| 久久精品国产免费 | www.色五月.com| 久久久久久美女 | 成年人在线视频观看 | 99视频在线免费播放 | 免费视频久久久久久久 | 精品国产乱码一区二 | 97超碰在线免费观看 | 免费网站黄 | 91成年人视频 | 亚洲综合激情小说 | 国产美腿白丝袜足在线av | 九九久久久 | 91丨porny丨九色 | 亚洲免费a | av在线8| av资源网在线播放 | 欧美视频网址 | 国产精品女视频 | 日本高清中文字幕有码在线 | 一级大片在线观看 | 国产一区视频导航 | 欧美另类视频 | 日本久久片 | 国内99视频 | 久久久久黄 | 国产免费影院 | 狠狠狠干狠狠 | 久久免费观看少妇a级毛片 久久久久成人免费 | 成人理论在线观看 | 国产精品不卡在线播放 | 欧美久久久久久久久久久久久 | 不卡av电影在线观看 | 久在线观看 | 天天综合网~永久入口 | 麻豆国产视频下载 | 天堂网在线视频 | 欧美成亚洲 | 国产精品久久久久久影院 | 黄污视频网站大全 | 久久精品视频免费 | 国产精品美女久久久久久久久久久 | 久久亚洲影视 | 91久久久久久久一区二区 | 伊人影院99 | 久草国产在线观看 | 免费在线国产黄色 | 国产亚洲精品久久久久久无几年桃 | 激情影院在线观看 | av大全在线观看 | 成片人卡1卡2卡3手机免费看 | wwwwww色| 中文字幕乱码日本亚洲一区二区 | 可以免费看av| 免费在线观看日韩 | 精品xxx | 成人三级网址 | 欧美日韩电影在线播放 | 婷婷深爱激情 | 狠狠色噜噜狠狠狠 | 99r在线播放| 91传媒在线观看 | 国产精品一区二区免费视频 | 97精品超碰一区二区三区 | 欧美一区免费在线观看 | 久久久久久久久久久黄色 | 精品国产一区二区三区在线观看 | 久久久久久草 | 国产精品字幕 | av亚洲产国偷v产偷v自拍小说 | 日韩成人黄色 | 日韩精品在线视频 | 国产成人精品国内自产拍免费看 | 亚洲一二三区精品 | 久久国产成人午夜av影院潦草 | 9999精品免费视频 | 婷婷色在线播放 | 免费一级特黄录像 | 久久精品视频在线观看免费 | 亚洲每日更新 | 黄色小视频在线观看免费 | 久久99国产精品自在自在app | 久久一区精品 | 高清av中文在线字幕观看1 | 久久网站免费 | 久久久91精品国产一区二区精品 | 免费日韩在线 | 热久久电影 | 99久久99久国产黄毛片 | 日本少妇高清做爰视频 | 狠狠的操 | 久草久草在线 | www夜夜| 日本二区三区在线 | 九九爱免费视频 | 国产精品久久99综合免费观看尤物 | 91人人人| 国产一级一片免费播放放a 一区二区三区国产欧美 | 国产精品久久久久永久免费观看 | 91高清免费观看 | 91在线观看视频 | 精品欧美乱码久久久久久 | 日韩视频免费观看高清完整版在线 | 久久不射影院 | 黄色三级免费看 | 超碰免费在线公开 | 国产一级久久 | 国产福利91精品张津瑜 | 欧美久久久久久 | 久久成人高清视频 | 日本黄网站 | 国产一级免费观看 | 国产福利91精品张津瑜 | 精品国产区在线 | 91精品在线观看视频 | 久久99电影| 欧美日韩亚洲在线观看 | www.狠狠插.com| 成年人黄色免费网站 | 91久久久久久久一区二区 | 亚洲国产精品一区二区尤物区 | 久久综合亚洲鲁鲁五月久久 | 欧美在线视频日韩 | 深爱五月激情五月 | 日韩av片无码一区二区不卡电影 | 中文字幕在线观看免费高清电影 | 中文字幕在线影院 | 99热国产在线中文 | 中文字幕影片免费在线观看 | 99免费观看视频 | 亚洲毛片久久 | 五月婷婷丁香综合 | 欧美一级小视频 | www.久久99| 精品国产免费av | 在线中文字幕电影 | 久久久久久免费 | 国产精品美女免费视频 | 天天干天天摸天天操 | 国产伦理久久精品久久久久_ | 国产精品igao视频网网址 | 国内视频在线 | 天天干天天拍 | 久久国产精品99久久久久久进口 | 天天干人人干 | 精品国产一区二区三区久久久久久 | 成人免费xxx在线观看 | 四虎成人精品永久免费av | 18久久久| 九九久久免费视频 | 久久欧美综合 | 欧美乱码精品一区二区 | 亚洲精品综合在线 | 一区二区三区免费在线观看 | 超碰av在线免费观看 | 视频在线99 | 91视频88av | 91视频免费网站 | 日韩久久精品 | 国产破处在线视频 | 在线观看日韩国产 | 97在线观看免费 | 欧洲高潮三级做爰 | 欧美一级高清片 | 精品999久久久 | 在线观看的a站 | 久热爱| 97爱爱爱| 激情在线免费视频 | 一区二区高清在线 | 99热精品国产一区二区在线观看 | 欧美a√在线 | 欧亚日韩精品一区二区在线 | 麻豆视频在线免费 | 九九九九精品 | 久久精品99国产国产 | 97香蕉久久超级碰碰高清版 | 亚洲网久久| 日韩精品久久久免费观看夜色 | 国产高清免费 | 日本午夜在线亚洲.国产 | 99色精品视频 | 免费观看久久久 | 婷婷亚洲五月 | 国语精品免费视频 | 亚洲资源| 一区二区电影在线观看 | 国产午夜av | 在线观看日本高清mv视频 | 嫩小bbbb摸bbb摸bbb | 国产精品扒开做爽爽的视频 | 日韩欧美一区二区三区免费观看 | japanesexxxxfreehd乱熟| 成人天堂网 | 亚洲激情综合网 | 国产成人精品亚洲精品 | 中文字幕日韩高清 | 免费视频久久久久久久 | 国产精久久久久久妇女av | 99亚洲天堂| 国产精品二区在线 | 国产精品美女999 | 色综合天天射 | 成人国产精品一区二区 | 亚洲色图 校园春色 | 天天爽夜夜爽人人爽曰av | 奇米影视777四色米奇影院 | 欧美十八| 在线视频一区二区 | 欧美成人性战久久 | 99麻豆久久久国产精品免费 | 亚洲高清视频在线观看免费 | 婷婷六月天综合 | 超碰97国产精品人人cao | 色综合天天综合网国产成人网 | 成人免费视频网站在线观看 | 综合视频在线 | 免费观看完整版无人区 | 亚洲电影久久 | 在线小视频你懂的 | 国产999精品久久久影片官网 | 成人看片| 日韩v欧美v日本v亚洲v国产v | 一区二区三区免费在线观看视频 | 国产一卡二卡在线 | 亚洲黄色在线看 | 日韩资源在线播放 | 麻豆小视频在线观看 | 一区二区不卡视频在线观看 | 午夜av免费观看 | 黄色软件视频网站 | 国产小视频你懂的 | 最近日韩中文字幕中文 | 国产午夜精品理论片在线 | 免费看v片网站 | 精品色999 | 友田真希x88av | a在线一区 | 亚洲91网站 | 成年免费在线视频 | 国产成人精品不卡 | wwwwwww黄| 国产精品久免费的黄网站 | 成人h在线 | 六月久久婷婷 | 91在线免费播放视频 | 成人午夜剧场在线观看 | 91在线免费播放视频 | 欧美日韩在线播放一区 | 成人小视频免费在线观看 | 久热av | 精品国产一区二区三区四区vr | 亚洲成aⅴ人片久久青草影院 | 亚洲高清在线观看视频 | 极品中文字幕 | 久久精品99国产国产精 | 免费看片网址 | 色综合 久久精品 | 在线国产99 | 欧美日韩在线电影 | 亚洲高清视频在线 | 伊人网综合在线观看 | 日韩免费播放 | 在线免费观看国产黄色 | 亚州av免费 | 欧美日产在线观看 | 九九热视频在线免费观看 | 欧美不卡视频在线 | 808电影免费观看三年 | 99热国产在线 | 久久精美视频 | 欧美国产亚洲精品久久久8v | 欧美精品日韩 | 亚洲人在线视频 | 国产精品成人品 | 国产一级不卡毛片 | 日韩免费小视频 | 日p视频 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 欧美精品久久久久久久久久久 | 在线观看国产高清视频 | 一区二区三区在线免费观看视频 | 亚洲激情国产精品 | 中文字幕av最新更新 | 99视频网站| 久久五月婷婷综合 | 亚洲午夜精品久久久 | 在线观看亚洲精品视频 | 久久色网站| 激情网综合 | 夜夜夜夜操| 欧美国产精品一区二区 | 久久九九免费 | 国产精品久久久久aaaa | 亚洲黄色在线 | 91在线入口 | 中文字幕 91| 国产99久久| 亚洲激情免费 | 97在线看| 午夜久久福利 | 在线观看免费视频你懂的 | 亚洲欧美视频在线播放 | 美女免费视频观看网站 | 四虎成人精品 | 日韩欧美一区二区在线 | 精品国产视频一区 | 国产伦理久久 | 精品久久久久久亚洲综合网站 | 欧美另类重口 | 久久综合久久综合久久综合 | 久久不卡国产精品一区二区 | 欧美一级久久久久 | 久久综合久久综合这里只有精品 | 免费a v观看 | 狠狠色丁香婷综合久久 | www99精品| 久久久久久久久久久国产精品 | 99色视频| 午夜免费福利片 | 成人黄在线观看 | 亚洲精品国产精品国 | 超碰在线人人97 | 天天操夜夜操夜夜操 | 九九九九九九精品任你躁 | 国产精品2018 | 黄色成人在线网站 | 蜜臀久久99静品久久久久久 | 久久久精品视频网站 | 97在线资源 | 国产视频不卡一区 | 精品免费视频123区 午夜久久成人 | 九9热这里真品2 | www.久久精品视频 | 国产精选视频 | www操操操 | 蜜臀av免费一区二区三区 | 一区二区视频在线看 | 91手机视频在线 | 91香蕉国产在线观看软件 | 美国三级黄色大片 | 精品国产乱码久久久久久1区2匹 | 国产一级91 | 国产亚洲精品bv在线观看 | 九草在线观看 | 日韩精品视频一二三 | 日韩一区精品 | 免费在线观看污网站 | 亚洲综合色站 | 玖玖在线播放 | 国产黄色av影视 | 亚洲精品视频在线免费播放 | 久久精品99精品国产香蕉 | 99热在线精品观看 | 国产69精品久久久久久久久久 | 精品欧美一区二区在线观看 | 黄色a三级 | 国产精品11 | 国产成人三级在线播放 | 国产亚洲免费观看 | 日韩精品免费在线视频 | 91精品第一页 | 国产高清免费 | 久久国产精品偷 | 久久久精华网 | 亚洲国产一区二区精品专区 | 亚洲精品美女在线 | 精品91在线| 久久成人国产精品 | 精品国产乱码久久久久久天美 | 看片的网址 | 国产综合激情 | 欧美精品中文字幕亚洲专区 | 99精品视频免费在线观看 | 国产在线精品福利 | 国产电影黄色av | 久久日韩精品 | www好男人| 99久久精品无码一区二区毛片 | 亚洲经典中文字幕 | 国产精品一区二区三区在线播放 | 激情五月播播久久久精品 | 在线天堂v | 在线免费av播放 | 日韩美女一级片 | 天天草夜夜 | 天天精品视频 | 欧美日韩视频一区二区 | 日韩中文三级 | 婷色在线 | 五月婷婷色 | 日本久久综合视频 | 美女久久久久 | 成人精品一区二区三区中文字幕 | www.91国产| 国产日韩欧美在线看 | 去干成人网| 美女精品国产 | 五月婷婷中文网 | 日韩和的一区二在线 | 不卡av在线 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久久免费视频一区 | 国产精品不卡av | 亚洲日本一区二区在线 | 久久精品aaa | 亚洲 成人 一区 | 欧美亚洲免费在线一区 | 超碰在线观看av.com | 狠狠操综合网 | 久操操 | 国产馆在线播放 | 日韩免费一区 | 久久99精品视频 | 亚洲国产精品推荐 | 国产一区二区不卡视频 | 在线国产精品视频 | 欧美日韩国产在线精品 | 色婷婷av国产精品 | 久久久久久中文字幕 | 天天干夜夜想 | 超碰在线人人爱 | 99久久精品国产一区 | 人人爱夜夜操 | 久久不见久久见免费影院 | 精品少妇一区二区三区在线 | 国产精品美女久久久久久2018 | 日韩精品视频在线观看免费 | 免费人成在线观看 | 91高清视频在线 | 亚洲日本va在线观看 | 国产黄a三级三级 | 久久夜色精品国产欧美乱 | 91免费网址| 天天射日 | 国产精品欧美久久久久久 | 久久国产精品久久w女人spa | 91精品第一页| 香蕉视频国产在线观看 | 日韩黄色大片在线观看 | 免费在线观看污网站 | 黄色性av| 久久在草 | 日韩视频一区二区三区 | 人人看人人做人人澡 | 国产精品99久久久久 | 久久精品国产99 | 2019中文在线观看 | 日韩高清在线看 | 69精品视频在线观看 | 免费a视频| 亚洲国产三级在线 | 日日夜夜91 | 亚洲午夜大片 | 日韩成人黄色 | 免费在线观看成人小视频 | 亚洲精品成人av在线 | 国产专区日韩专区 | 日本爽妇网 | 丁香在线观看完整电影视频 | 国产 日韩 在线 亚洲 字幕 中文 | 黄色一级大片免费看 | 婷婷六月中文字幕 | 五月天色丁香 | 日本免费一二三区 | 国产三级精品在线 | 综合色伊人 | 97色视频在线| 高清色免费 | 久久福利 | 射射射综合网 | 欧美精品久久人人躁人人爽 | 日韩av免费一区二区 | 国产一在线精品一区在线观看 | 超碰日韩 | 欧美日韩国产在线精品 | 欧美精品中文在线免费观看 | 久久99精品久久久久久清纯直播 | 日韩成人欧美 | 黄色片网站免费 | 97国产大学生情侣白嫩酒店 | 色九九视频| 高清av中文在线字幕观看1 | 在线激情电影 | 久久全国免费视频 | www四虎影院 | 操夜夜操 | 久久久久久久久久久福利 | 99视频在线精品免费观看2 | 国产精品日韩在线观看 | 亚洲黄色免费在线 | 国产美女永久免费 | 天天操天天操天天操天天操天天操 | 久久综合久久伊人 | 九九交易行官网 | 免费网站黄| 91精品系列| 激情视频一区二区 | 欧美日韩高清不卡 | 国产视频综合在线 | 在线导航av | 精品国产精品国产偷麻豆 | 国产精品1024| 国产v亚洲v| 欧美最新大片在线看 | 午夜视频一区二区三区 | 午夜视频免费 | 黄色一级大片在线免费看国产一 | 日韩av在线一区二区 | 欧美日韩国产高清视频 | 黄色毛片一级片 | 亚洲精品五月天 | 波多野结衣在线播放一区 | 97成人在线观看视频 | 一区二区三区播放 | 欧美成人va | av在线播放国产 | 日本高清中文字幕有码在线 | 国产精品免费麻豆入口 | 毛片视频电影 | 色999在线 | 涩涩网站在线播放 | 国产成人精品一区二区三区 | 日日夜夜网| 亚洲国产精彩中文乱码av | 久久久久影视 | 国产成人精品一区二区三区网站观看 | 国产精品igao视频网网址 | 午夜精品福利一区二区 | av免费在线网 | 欧美电影黄色 | 久久国产高清 | 久久久久亚洲国产精品 | 久久视频免费在线 | 国产午夜一级毛片 | 国产视频一级 | 一级淫片在线观看 | 国产毛片久久久 | 热久久这里只有精品 |