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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle 常用命令举例

發布時間:2024/7/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle 常用命令举例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle 常用命令舉例
? 基本語法
? % type用法
? %rowtype用法
? TYPE用法
? 游標的使用
? for 循環
? loop循環
? while循環
? if / else 的用法
? case 的用法
? 錯誤定義
? error的設定
? exception用法
? 存儲過程及函數
? procedure 的建立和調用
? function的建立和調用
? 參數的調用(in 模式為按址調用,out / in out模式為按值調用。NOCOPY 強行轉換成按址調用)。
? 軟件包及封裝
? 軟件包(PACKAGE)的建立和調用
? 軟件包的全局結構
? 封裝函數的純度
? 查看源代碼及建立用戶、用戶的權限
? 源代碼的查看
? 建立用戶及登陸
? 授予權限和權限收回
? 依賴
? 直接依賴
? 查看依賴
? 包之間調用
? 觸發器
? 建立簡單的觸發器
? 觸發器分類
? 稍復雜的觸發器
? 條件謂詞
? 觸發器中不可使用Commit
? 系統觸發器舉例(LOGON)
? instead of 觸發器
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
1. % type用法,提取% type所在字段的類型
declare
myid dept.id % type;
myname dept.name % type;
begin
select id,name into myid,myname from dept;
dbms_output.put_line(myid);
dbms_output.put_line(myname);
end;
/
2. %rowtype用法,提取%rowtype所在的字段的類型
declare
type type_dept is table of dept % rowtype
index by binary_integer;
tb type_dept;
begin
tb(1).id:='001';
tb(2).id:='001';
dbms_output.put_line(tb.COUNT);
end;
/
3. TYPE用法,相當于結構體
declare
lv_order_date DAte:=sysdate;
lv_last_txt varchar2(5) default '001';
lv_last varchar2(10) not null:='us';
TYPE type_test is record(
myid dept.id % type,
myname dept.name % type);
rec type_test;
begin
lv_order_date:=sysdate;
dbms_output.put_line(lv_last);
select id,name into rec from dept;
dbms_output.put_line(rec.myid);
dbms_output.put_line(rec.myname);
end;
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
/
4. 游標的使用
declare
g_id char(10):='002';
find_not char(1):='N';
cursor cur is
select * from dept;
TYPE type_dept is record(
cur指向表
myid dept.id % type,
myname dept.name % type,
myaddr dept.addr % type);
rect type_dept;
begin
open cur;
loop
fetch cur into rect;
exit when cur% NOTFOUND;
提取cur指向的記錄到rect結構中
if rect.myid=g_id then
find_not:='Y';
dbms_output.put_line('Find it!!');
dbms_output.put_line('DEPT ID:' || rect.myid);
dbms_output.put_line('NAME:' || rect.myname);
dbms_output.put_line('ADDR:' || rect.myaddr);
end if;
end loop;
close cur;
if find_not='N' then
dbms_output.put_line('no record');
end if;
end;
/
5. for 循環
begin
for i in 1..5 loop
dbms_output.put_line(i);
end loop;
end;
/
6. loop循環
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
declare
v number:=1;
begin
loop
dbms_output.put_line(v);
exit when v>5;
v:=v+1;
end loop;
end;
/
7. while循環
declare
v number:=1;
begin
while v<5 loop
dbms_output.put_line(v);
v:=v+1;
end loop;
end;
/
8. error的設定
declare
v1 number:=90;
begin
if v1=10 then dbms_output.put_line('v1 is 10');
elsif v1=20 then dbms_output.put_line('v2 is 20');
else goto err;
dbms_output.put_line('normal end');
<<err>>
dbms_output.put_line('error found');
end if;
end;
/
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
9. exception用法
declare
ex Exception;
begin
Update dept set name='Edison'
where id='100';
if SQL%NOTFOUND Then
Raise ex;
end if;
Exception
When ex then
dbms_output.put_line('update failed.');
end;
/
declare
type rc_dept is record (
myid dept.id%type,
myname dept.name%type,
myaddr dept.addr%type
);
tb rc_dept;
begin
select id,name,addr into tb from dept where id=:gb_id;
dbms_output.put_line('id:' || tb.myid);
dbms_output.put_line('name:' || tb.myname);
dbms_output.put_line('addr:' || tb.myaddr);
exception
when NO_DATA_FOUND then
dbms_output.put_line('no record is found');
when TOO_MANY_ROWS then
dbms_output.put_line('too many rows are selected');
when OTHERS then
dbms_output.put_line('undefine error');
dbms_output.put_line('error coede: ' || SQLCODE);
dbms_output.put_line('error message:' || SQLERRM);
end;
/
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
declare
type rc_dept is record (
myid dept.id%type,
myname dept.name%type,
myaddr dept.addr%type
);
tb rc_dept;
begin
begin
select id,name,addr into tb from dept where id=:gb_id;
內層錯誤捕捉其始點,在此之前發生的錯誤由外層進行捕捉。
dbms_output.put_line('id:'|| tb.myid);
dbms_output.put_line('name:' || tb.myname);
dbms_output.put_line('addr:'|| tb.myaddr);
exception
when NO_DATA_FOUND then
dbms_output.put_line('no record is found, occur in inner.');
end;
exception
when TOO_MANY_ROWS then
dbms_output.put_line('too many rows are selected, occur in outer.');
內層的錯誤捕捉到后,外層的錯誤就不捕捉了。否則由外層捕獲錯誤。
when OTHERS then
dbms_output.put_line('undefine error');
dbms_output.put_line('error coede: ' || SQLCODE);
dbms_output.put_line('error message:' || SQLERRM);
end;
/
10. if / else 的用法
declare
v1 number:=90;
begin
if v1=10 then dbms_output.put_line('v1 is 10');
elsif v1=20 then dbms_output.put_line('v2 is 20');
else dbms_output.put_line('v2 is others');
end if;
end;
/
11. case 的用法
declare
v number:=10;
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
begin
case :v
when 10 then dbms_output.put_line('v is 10');
when 20 then dbms_output.put_line('v is 20');
else dbms_output.put_line('v is not 10 and 20');
end case;
end;
/
12. procedure 的建立和調用
create or replace procedure test_sp
(test in number, outtest out number)
is
begin
參數的聲明不要對它的大小進行定義。IN表示傳入的參數,不能修改,OUT表示傳出的參數。
if test>10 then
printsomthing ('test is over 10!!');
else
begin
outtest:=test;
printsomthing (outtest);
end;
過程調用過程的參數調用格式注意,不加“:”
end if;
end;
/
create or replace procedure printsomthing
(print in number)
is
begin
dbms_output.put_line(print);
end;
/
create or replace procedure printsomthing
(print in char)
is
begin
dbms_output.put_line(print);
end;
/
exec test_sp(:test,:outtest); 外部執行的時候注意參數調用方式要加“:”
存儲過程可以重載,符合C++的重載規則。
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
13. function的建立和調用
create or replace function test(t in number) return number
is
Function的建立,需要返回值,但不需要說明大小。
begin
if t>10 then
dbms_output.put_line(t);
elsif t<10 then
dbms_output.put_line(t);
end if;
return t;
end;
/
注意:調用的方法,不能以procedure那樣獨立進行調用。函數是表達式的一部分(有返回值)。
exec test(1); 錯誤
exec :tt:=test(2); 正確
Tips:建議使用return模式,而不是使用out模式。
procedure 中也能用return,這里的return只表示當前procedure的中斷。
參數如同procedure一樣,不能修改in的參數
create or replace function test(t in number) return number
is
begin
if t>10 then
t:=t+10;
dbms_output.put_line(t);
elsif t<10 then
dbms_output.put_line(t);
LINE/COL ERROR
-------- -----------------------------------------------------------------
5/3 PLS-00363: 表達式 'T' 不能用作賦值目標
5/3 PL/SQL: Statement ignored
end if;
return t;
end;
/
多路return
create or replace function test(t in number) return number
is
begin
if t<10 then
return 1;
elsif t>=10 then
return 2;
end if;
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
end;
/
function中調用procedure
create or replace function test(t in number) return number
is
begin
printnumber(t);
return t;
end;
/
create or replace procedure printnumber
(print in number)
is
begin
dbms_output.put_line(print);
end;
/
14. 參數的調用(in 模式為按址調用,out / in out模式為按值調用。NOCOPY 強行轉換成按址調用。
create or replace procedure test_nocopy_sp(p_in in number, p_out in out nocopy number)
is
begin
p_out:=5;
if p_in=1 then
raise no_data_found;
強行拋出一個異常,以顯示參數的結果。
end if;
end;
/
create or replace procedure run_nocopy_sp
is
lv_test_num number;
begin
lv_test_num:=1;
test_nocopy_sp(1,lv_test_num);
exception
when others then
因為test_nocopy_sp這個過程的第二個參數是nocopy的,也就是傳址的,所以修改了lv_test_num,為5。
如果test_nocopy_sp這個過程的第二個參數不是nocopy,那么就是傳值,lv_test_num不被修改,仍然為1。
dbms_output.put_line('error happened'|| lv_test_num);
end;
/
error happened 5
error happened 1
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
15. 軟件包(package)的建立(包含了函數的重載)
軟件包聲明
create or replace package test_package
is
procedure test_sp
(test in number, outtest out number);
只聲明過程、函數的原型。
procedure printsomthing
(print in number);
函數printsomething的重載
procedure printsomthing
(print in char);
function test
(t in number) return number;
end;
/
軟件包體的建立
create or replace package body test_package
is
procedure test_sp
無begin
(test in number, outtest out number)
is
begin
if test>10 then
printsomthing ('test is over 10!!');
else
begin
outtest:=test;
printsomthing (test);
end;
end if;
end test_sp;
end 的注意
procedure printsomthing
(print in number)
is
begin
dbms_output.put_line(print);
end printsomthing;
procedure printsomthing
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
(print in char)
is
begin
dbms_output.put_line(print);
end printsomthing;
function test(t in number) return number
is
begin
if t>10 then
dbms_output.put_line(t);
elsif t<10 then
dbms_output.put_line(t);
end if;
return t;
end test;
end;
/
具體寫體的時候和以前一樣寫,只不過不用寫create or replace,在end最后還要緊跟過程或函數名。
執行結果
SQL> var test1 number;
SQL> exec test_package.test_sp(20,:test1);
test is over 10!!
PL/SQL 過程已成功完成。
SQL> exec test_package.test_sp(1,:test1);
1
PL/SQL 過程已成功完成。
SQL> exec :test1:=test_package.test(20);
20
調用方法就是在前面加個包名,其余注意點和過程或函數相同。
調用方法就是在前面加個包名,其余注意點和過程或函數相同。
PL/SQL 過程已成功完成。
SQL> print test1;
TEST1
----------
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
20
16. 軟件包全局結構
create or replace package test_global
is
global_v number(3):=0;
procedure setValue(p1 in number);
包的全局變量
end;
/
create or replace package body test_global
is
procedure setValue(p1 in number)
is
begin
global_v:=p1;
dbms_output.put_line(global_v);
修改全局變量并輸出
end setValue;
end;
/
建立2個會話:
exec test_global.setValue(20);
exec test_global.setValue(10);
2個會話分別維護自己的全局變量。互不影響。
17. 封裝函數的純度
create or replace package test_global
is
global_v number(3):=0;
function setValue(p1 in number) return number;
pragma restrict_references(setValue,WNPS);
end;
/
create or replace package body test_global
指定純度。
WNDS Writes No Database State
函數不休改任何數據庫表
RNDS Reads No Database State
函數不讀取任何表
WNPS Writes No Package State
函數不修改任何封裝變量
RNPS Reads No Package State
函數不讀取任何封裝變量
is
function setValue(p1 in number) return number
is
begin
global_v:=p1;
違反了WNPS的約束。
PACKAGE BODY TEST_GLOBAL 出現錯誤:
LINE/COL ERROR
PLS-00452: 子程序 'SETVALUE' 違反了它的相關注記
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
dbms_output.put_line(global_v);
return global_v;
end setValue;
end;
/
18. 源代碼的查看
SQL> desc user_source
名稱 是否為空? 類型
----------------------------------------- -------- -------------------
NAME VARCHAR2(30)
TYPE VARCHAR2(12)
LINE NUMBER
TEXT VARCHAR2(4000)
存放源代碼的字段
SQL> select text from user_source where name='TEST';
注意:name一定要大寫。
TEXT
--------------------------------------------------------------
function test(t in number) return number
is
begin
if t>10 then
dbms_output.put_line(t);
elsif t<10 then
dbms_output.put_line(t);
end if;
return t;
end;
已選擇10行。
SQL> select rownum,text from user_source where name='TEST';
顯示行號
19. 建立用戶及登陸
SQL> create user MascotZhuang IDENTIFIED BY MascotZhuang;
用戶已創建
密碼
用戶名
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
SQL> grant create session to MascotZhuang; 賦予能夠連上數據庫的權力
授權成功。
如果沒有這一句會發生以下錯誤:
ERROR:
ORA-01045: user MASCOTZHUANG lacks CREATE SESSION privilege; logon denied
C:\>sqlplus "MascotZhuang/MascotZhuang"
連接到:
Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production
With the Partitioning option
JServer Release 9.0.1.1.1 – Production
注意:
如果以 MascotZhuang/MascotZhuang as sysdba
登陸,相當于/ as sysdba登陸。
通過show user可以看到user還是sys,而不是MascotZhuang
SQL>
20. 授權和收回權限
授予全部權限
SQL> grant all on test_package to MascotZhuang;
授權成功。
授予特定權限
SQL> grant execute on test_package to MascotZhuang;
授權成功。
收回權限
SQL> revoke all on test_package from MascotZhuang;
撤銷成功。
創建的用戶使用包
SQL> var test1 number;
SQL> set serveroutput on
SQL> exec :test1:=sys.test_package.test(20);
20
PL/SQL 過程已成功完成。
SQL>
21. 直接依賴性
create or replace procedure test_dependency
(p_print char)
is
begin
printsomething(p_print);
end;
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
/
當創建這個procedure的時候,會發現一下錯誤。
LINE/COL ERROR
-------- -----------------------------------------------------------------
5/3 PLS-00201: 必須說明標識符 'PRINTSOMETHING'
5/3 PL/SQL: Statement ignored
因為這個時候,printsomething這個procedure還沒有創建。換句話說,test_dependency依賴于printsomething。所以在printsomething創建之前,test_dependency是無效的。
SQL> select status from user_objects where object_name='TEST_DEPENDENCY';
STATUS
-------
INVALID
因此,必須創建printsomething這個過程。
create or replace procedure printsomething
(p_print char)
is
begin
dbms_output.put_line(p_print);
end;
/
這時候,test_denpendency的status還是invalid。需要進行重現編譯,才能使得status為valid。
SQL> alter procedure test_dependency compile;
SQL> select status from user_objects where object_name='TEST_DEPENDENCY';
STATUS
-------
VALID
22. 查看依賴性
SQL> select referenced_name,referenced_type from user_dependencies where name='TEST_DEPENDENCY';
REFERENCED_NAME REFERENCED_T
------------------------------ ------------
STANDARD PACKAGE
SYS_STUB_FOR_PURITY_ANALYSIS PACKAGE
PRINTSOMETHING PROCEDURE
依賴系統的PACKAGE
TEST_DEPENDENCY所依賴的procedure
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
SQL> select referenced_name,referenced_type from user_dependencies where name='PRINTSOMETHING';
REFERENCED_NAME REFERENCED_T
------------------------------ ------------
STANDARD PACKAGE
SYS_STUB_FOR_PURITY_ANALYSIS PACKAGE
依賴系統的PACKAGE
DBMS_OUTPUT PACKAGE
23. 包之間的調用
create or replace package test_global
is
global_v number(3):=0;
都有一個包的全局變量
procedure setValue(p1 in number);
procedure print(p1 in number);
end;
/
create or replace package body test_global
is
procedure setValue(p1 in number)
is
begin
global_v:=p1;
dbms_output.put_line('this is test_global,global_v is ' || global_v);
test1_global.setValue(3);
end setValue;
procedure print(p1 in number)
調用test1_global這個包中的setValue這個過程。只需加上這個包名即可。
is
begin
dbms_output.put_line('test_global, global_v is ' || global_v);
end print;
end;
/
create or replace package test1_global
is
global_v number(3):=0;
都有一個包的全局變量
procedure setValue(p1 in number);
procedure print(p1 in number);
end;
/
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
create or replace package body test1_global
is
procedure setValue(p1 in number)
is
begin
global_v:=p1;
dbms_output.put_line('this is test1_global,global_v is ' || global_v);
end setValue;
procedure print(p1 in number)
is
begin
dbms_output.put_line('test1_global, global_v is ' || global_v);
end print;
end;
/
setValue過程對全局變量賦值。但是各自的包調用各自的過程,修改各自的全局變量。
SQL> exec test_global.setValue(200);
this is test_global,global_v is 200
this is test1_global,global_v is 3
PL/SQL 過程已成功完成。
SQL> exec test_global.print(10);
test_global, global_v is 200
PL/SQL 過程已成功完成。
SQL> exec test1_global.print(10);
各自的過程修改的自己的全局變量。
各自的過程修改的自己的全局變量。
test1_global, global_v is 3
PL/SQL 過程已成功完成。
24. 建立觸發器(僅說明觸發器的工作原理)
建立一個簡單的表:
create table table_test_trigger(id char(10));
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
建立簡單的觸發器:
create or replace trigger myTrigger
after insert on table_test_trigger
觸發器觸發的時機,有記錄插入到table_test_trigger后就觸發。
begin
dbms_output.put_line('something is inserted!!');
觸發器體,觸發器處理的東西
end;
/
SQL> insert into table_test_trigger Values('01');
插入一條記錄來觸發觸發器。
something is inserted!!
觸發器被觸發。
已創建 1 行。
25. 觸發器的分類
分為:行級觸發器和語句級觸發器
行級觸發器:對于DML語句影響的每一行都觸發觸發器代碼。只適合于UPDATE和DELETE事件。
語句級觸發器:對該事件觸發一次觸發器。INSERT事件
26. 稍復雜的觸發器
第一個觸發器:
create table table_test_trigger(id char(10),name char(10));
insert into table_test_trigger values('01','a');
insert into table_test_trigger values('02','b');
insert into table_test_trigger values('03','c');
insert into table_test_trigger values('04','d');
insert into table_test_trigger values('05','e');
create or replace trigger myTrigger
after update of name on table_test_trigger
begin
dbms_output.put_line('something is inserted!!');
end;
/
SQL> update table_test_trigger set name='zz' where id='01';
something is inserted!!
這里比24 建立觸發器中多了 of name ,表示只有當UPDATE NAME這個字段后,才觸發觸發器。
觸發了觸發器。
已更新 1 行
SQL> update table_test_trigger set id='99' where name='b';
已更新 1 行。
沒有觸發觸發器。因為沒對name進行update
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
第二個觸發器:
create or replace trigger myTrigger
after update of name on table_test_trigger
for each row
when(OLD.name='a')
begin
dbms_output.put_line('somthing is inserted!');
For each row表示每行都要觸發,但要滿足for each row下面when的條件。OLD.name表示未更新前的name指,相對的有個NEW.name表示更新后的值。
end;
/
SQL> update table_test_trigger set name='zb';
somthing is inserted!
只觸發了一次,因為只有一條記錄滿足條件。
已更新5行。
第三個觸發器:
create or replace trigger myTrigger
after update of name on table_test_trigger
for each row
begin
dbms_output.put_line('somthing is inserted!');
end;
/
SQL> update table_test_trigger set name='zb';
somthing is inserted!
無條件,對于每行都觸發,這里的每行是指外部update語句影響到的每行。
這里是無條件的UPDATE,因此,表中有幾條記錄,就應該觸發幾次。
somthing is inserted!
somthing is inserted!
somthing is inserted!
somthing is inserted!
已更新5行。
27. 條件謂詞
create or replace trigger myTrigger
after update of name on table_test_trigger
for each row
begin
if UPDATING THEN
dbms_output.put_line('UPDATING!');
end if;
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
if DELETING THEN
dbms_output.put_line('DELETING!');
end if;
if INSERTING THEN
dbms_output.put_line('INSERTING!');
end if;
end;
/
SQL> update table_test_trigger set name='zb';
觸發器觸發
UPDATING!
UPDATING!
UPDATING!
UPDATING!
UPDATING!
已更新5行。
create or replace trigger myTrigger
after update of name on table_test_trigger
for each row
begin
if UPDATING('name') THEN
當name字段update的時候才觸發觸發器。
dbms_output.put_line('UPDATING!');
end if;
end;
/
SQL> update table_test_trigger set name='zb';
觸發觸發器
UPDATING!
UPDATING!
UPDATING!
UPDATING!
UPDATING!
已更新5行。
SQL> update table_test_trigger set id='99';
未觸發觸發器
已更新5行。
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
28. Trigger 中不能使用 Commit
create table test(id char(10));
create table test1(id char(10),logdate date);
create or replace trigger myTrigger
after insert on test
begin
insert into test1 values('001',sysdate);
沒有commit的觸發器
end;
/
SQL> insert into test values('001');
已創建 1 行。
SQL> select * from test1;
ID LOGDATE
---------- ----------
001 14-10月-04
SQL> rollback;
回滾后發現,兩個表的操作均被撤銷
回退已完成。
SQL> select * from test1;
未選定行
SQL> select * from test;
未選定行
create or replace trigger myTrigger
after insert on test
begin
insert into test1 values('001',sysdate);
commit;
添加了commit
end;
/
SQL> insert into test values('009');
insert into test values('009')
*
ERROR 位于第 1 行:
ORA-04092: COMMIT 不能在觸發器中
ORA-06512: 在"SCOTT.MYTRIGGER", line 3
ORA-04088: 觸發器 'SCOTT.MYTRIGGER' 執行過程中出錯
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
29. 系統觸發器舉例
create table test1(id char(10),logdate date);
create or replace trigger logon_trg
after logon on schema
Logon是系統觸發器。系統觸發器詳見書本。
begin
insert into test1 values(user,sysdate);
end;
/
再用scott/tiger重新在新連接中登陸,會發現觸發了系統觸發器。注:用sys/sas as dba登陸無效。
SQL> select * from test1;
ID LOGDATE
---------- ----------
SCOTT 14-10月-04
30. instead of 觸發器
create table test1(id char(10),name char(10));
insert into test1 values('01','ab');
create or replace view test_view
建立視圖
as select name from test1;
create or replace trigger test_trigger
instead of update on test_view
用觸發器來代替UPDATE,這就是為什么叫instead of觸發器。
for each row
begin
update test1 set name='zz';
end;
/
SQL> update test_view set name='aa';
已更新 1 行。
SQL> select * from test1;
ID NAME
---------- ----------
01 zz
Oracle9i 開發指南:PL/SQL 程序設計
清華大學出版社 ISBN 7-302-08002-x
Ben 整理 2004 年 秋
MSN: mascotzhuang@hotmail.com
31. 創建主鍵
CREATE TABLE test
( id char(10) CONSTRAINT id_pk PRIMARY KEY
主鍵設置
, name varchar2(20)
);
CREATE TABLE test
( id char(10) CONSTRAINT id_pk NOT NULL
設置不為空的設置
, name varchar2(20)
);
insert into test values('b03011117','zb');
32. 創建外鍵
CREATE TABLE test
( id char(10) CONSTRAINT id_pk PRIMARY KEY
, name varchar2(20)
);
CREATE TABLE test1
( studentID varchar2(20) CONSTRAINT studentID_pk PRIMARY KEY
, id CONSTRAINT fk_id REFERENCES test(id)
設置外鍵,也就是說,這里面的id的值受到test表中id值的限制。
);
insert into test values('b03011117','zb');
insert into test1 values('b03011117','zb');
ERROR 位于第 1 行:
違反了約束條件,出錯。
ORA-02291: 違反完整約束條件 (SCOTT.FK_ID) - 未找到父項關鍵字

轉載于:https://www.cnblogs.com/runningzz/p/7085481.html

總結

以上是生活随笔為你收集整理的Oracle 常用命令举例的全部內容,希望文章能夠幫你解決所遇到的問題。

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

丁香婷婷久久久综合精品国产 | 亚洲精品国产精品乱码不99热 | 一区二区三区高清不卡 | 91视频在线看 | 狠狠干,狠狠操 | 亚洲精品影视 | 91视频观看免费 | 久久毛片高清国产 | 久草视频中文在线 | 日韩乱码中文字幕 | 午夜色大片在线观看 | 天天干 天天摸 天天操 | 天天爽夜夜爽人人爽曰av | 国产成人在线免费观看 | 欧美一级特黄高清视频 | 亚洲高清视频在线观看免费 | 99视频偷窥在线精品国自产拍 | 激情综合网婷婷 | 国产精品成人自产拍在线观看 | av看片网址| 伊人狠狠操 | 国产精品女人久久久 | 亚洲午夜久久久综合37日本 | 成人蜜桃网 | 久久久久久久久久久久电影 | 天天操天天干天天爱 | 免费看黄在线网站 | 九九九视频精品 | 欧美 日韩 性 | 欧美精彩视频在线观看 | 午夜久久美女 | 成人在线播放网站 | 久久久精品免费观看 | 免费在线观看av电影 | 久久av中文字幕片 | 国产成人专区 | 亚洲美女免费精品视频在线观看 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 亚洲一区动漫 | 国产 中文 日韩 欧美 | 成年人免费电影在线观看 | 亚洲精品自拍视频在线观看 | 国产亚州av | 人人射网站 | av黄色亚洲| 亚洲黄色一级电影 | 中国一级片在线 | 国产一区二区久久 | 久久兔费看a级 | 欧美日韩性视频 | 日韩在线观看的 | 激情视频在线观看网址 | 黄网站色 | 国产视频一区二区在线播放 | 超碰夜夜 | 91亚洲网 | 在线免费观看黄色av | 色先锋av资源中文字幕 | 麻豆 91 在线 | 夜夜躁狠狠躁日日躁视频黑人 | 91丨精品丨蝌蚪丨白丝jk | 免费网站在线观看成人 | 91人人澡人人爽人人精品 | 国产成视频在线观看 | 91成年视频| 特片网久久 | 国产99久久精品一区二区300 | 正在播放国产精品 | 国产一区在线免费观看 | 久久艹在线 | 中文字幕电影在线 | 天天舔夜夜操 | 成人av一级片 | 久久的色| 粉嫩一区二区三区粉嫩91 | 美女精品在线 | 午夜在线免费观看视频 | 91av视频在线观看免费 | 伊人成人久久 | 久久久蜜桃一区二区 | 免费看国产精品 | 久久av免费 | 久久久久欠精品国产毛片国产毛生 | 五月激情站 | 欧美日韩91 | 日韩精品中文字幕在线不卡尤物 | 欧美二区视频 | 午夜影院一级 | 成人av免费电影 | 国产婷婷在线观看 | 久久av一区二区三区亚洲 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | av视屏在线 | 国产精品1024 | 亚洲欧洲精品一区二区精品久久久 | 97av视频| 欧美a免费| 精品中文字幕在线观看 | 成人久久18免费网站麻豆 | 美女网站视频久久 | 国产免费xvideos视频入口 | 人人干干人人 | 日韩亚洲在线观看 | 特级黄色视频毛片 | 欧美精品久久久久久久久久久 | 国产成人精品在线 | 美女精品在线观看 | 成人网页在线免费观看 | 婷婷六月综合网 | 成人a在线观看高清电影 | 激情视频一区二区 | 欧美久久久久久久久久久久 | 日av免费 | 一区二区三区中文字幕在线 | 日本中文字幕网址 | 久久人人爽人人爽人人 | 特级黄色一级 | 五月天天色 | 天堂av网站 | 亚洲黄色av网址 | 亚洲精品成人av在线 | 久久国产精品99久久久久 | 久久99网 | 亚洲人成人天堂h久久 | 天天曰天天 | 国产精品视频app | 亚洲理论在线观看 | 中文字幕在线专区 | 国产美女视频免费 | 91av蜜桃| 天天舔天天搞 | 久久有精品 | 黄免费在线观看 | 午夜视频久久久 | av中文字幕第一页 | 91成人小视频 | 一区二区三区在线观看免费 | 欧美日韩一级在线 | 国产精品成人av在线 | 久久国产影视 | 一区二区视频播放 | 91在线产啪 | 黄色毛片在线看 | 亚洲精品日韩在线观看 | 日韩在线一二三区 | 亚洲精品午夜一区人人爽 | 狠狠操狠狠| 91av视频在线观看免费 | 国产自在线观看 | 免费成人结看片 | 9i看片成人免费看片 | 欧美婷婷色 | 久久成人亚洲欧美电影 | 精品一区二区免费 | 又黄又爽又湿又无遮挡的在线视频 | 免费在线观看视频a | 亚洲三级黄色 | 一本之道乱码区 | 91av电影在线 | 欧美三级高清 | 在线观看免费观看在线91 | 波多野结衣资源 | 69久久夜色精品国产69 | 天天综合中文 | 国产人在线成免费视频 | 精品国产1区二区 | 99热国内精品 | 欧美男女爱爱视频 | 欧美91精品久久久久国产性生爱 | 91在线网址 | 日韩免费网址 | 91福利国产在线观看 | 99精品视频在线观看播放 | 久久久福利影院 | 日韩精选在线观看 | 黄网站色成年免费观看 | 91精品在线视频观看 | 亚av在线 | 久久成年人视频 | 91视频免费网址 | 鲁一鲁影院 | 在线精品一区二区 | 免费av大片 | 最近更新好看的中文字幕 | 黄色1级毛片 | 97国产精品一区二区 | www.com操| 免费的黄色av | 日韩精品视频免费 | 国产精品视频999 | 国产精品女| 91视频电影| 国产亚洲成av人片在线观看桃 | www天天干 | 婷婷丁香七月 | 久久久久一区二区三区 | av免费电影在线 | wwwwww国产| 九九在线免费视频 | 国产精品理论在线观看 | 在线观看免费黄色 | 亚洲精品影视在线观看 | 久久久受www免费人成 | 午夜精品99久久免费 | 欧美日韩性生活 | 日韩中文字幕免费在线播放 | 久久激情小视频 | 久久久国产精品免费 | 欧美日韩在线网站 | 国产精品av一区二区 | 日日干天天插 | 2023国产精品自产拍在线观看 | 午夜精品视频一区二区三区在线看 | 天天操天天干天天爱 | 在线观看日韩视频 | 色999视频| 国产免费中文字幕 | 国产99久久 | 最新国产在线视频 | 国内精品在线看 | 青青网视频 | 日韩中文字幕免费在线观看 | 天堂久久电影网 | 亚洲成av人影片在线观看 | 日韩欧美综合视频 | 婷婷色在线观看 | 日韩字幕 | www.在线看片.com | 国产九色视频在线观看 | 国产一区在线不卡 | 久青草视频在线观看 | 国际精品久久 | 久久视频在线免费观看 | 日韩网站免费观看 | 免费成人短视频 | 久久只有精品 | 91视频a | 日本夜夜草视频网站 | 一区二区精品在线 | 中文在线中文a | 日韩在线播放av | 欧美在线观看小视频 | 天天色婷婷 | www.日韩免费 | 最近日韩免费视频 | 日日天天干 | 日日夜夜狠狠 | 久久久九色精品国产一区二区三区 | 99国内精品久久久久久久 | 亚洲一级黄色 | 999久久a精品合区久久久 | 亚洲欧美成人网 | 久久综合婷婷 | 人人玩人人爽 | 免费看污片 | 亚洲精品国精品久久99热一 | 91日韩精品一区 | 国产精品免费观看在线 | www五月| 九九视频免费观看视频精品 | 国产亚洲欧美在线视频 | 亚洲综合视频在线 | 亚洲综合一区二区精品导航 | 亚洲成人精品 | 精品一区在线看 | 中文字幕中文中文字幕 | av在观看 | av综合av| 99色免费| 国产一级片视频 | 久免费 | 97在线影院 | 日韩精品 在线视频 | 麻豆手机在线 | 色偷偷人人澡久久超碰69 | 人人爽人人澡 | 国产成人61精品免费看片 | 最近日本中文字幕a | 国产精品第 | 色99中文字幕 | 色婷婷电影 | 国内精品久久久久久久影视简单 | 欧美日韩天堂 | 在线 视频 一区二区 | 欧美一级裸体视频 | 中字幕视频在线永久在线观看免费 | 久久精品欧美一区 | www.com黄| www.天天操 | 97国产视频 | 欧美在线视频一区二区三区 | 日本久久久久久久久久久 | 国产在线视频资源 | 97超碰.com| 国产一级免费观看视频 | 超碰公开97| 不卡的av电影在线观看 | 久久人人插 | 粉嫩一区二区三区粉嫩91 | 五月婷婷综合在线观看 | 欧美日韩一区二区三区在线观看视频 | 欧美日韩一区二区三区在线观看视频 | 成人a在线观看高清电影 | av天天干 | 国产精品久久久久av福利动漫 | 国产亚洲高清视频 | 久久精品国产亚洲精品 | 69中文字幕 | 国产一级电影免费观看 | 久久9999久久免费精品国产 | 在线免费成人 | 亚洲国产综合在线 | 日日夜夜狠狠干 | 91精品国产亚洲 | 成年人免费看av | 免费大片av | 亚洲精品国产第一综合99久久 | 永久免费的av电影 | 免费在线激情电影 | 91精品视频在线观看免费 | 欧美日韩高清一区二区 | 国产高清视频在线免费观看 | 成人午夜电影久久影院 | 国产无遮挡猛进猛出免费软件 | 国产成人一区三区 | 天堂网中文在线 | 亚洲综合激情小说 | 国产香蕉久久 | 综合网天天色 | 91av在线免费播放 | 天天综合成人网 | 久久激情视频 久久 | 亚洲视频免费在线观看 | 精品国产精品久久 | 国产资源免费 | 毛片www| 综合天天久久 | 亚洲国产经典视频 | 亚洲精品久久视频 | 人九九精品 | 偷拍精偷拍精品欧洲亚洲网站 | 五月丁香| 日韩免费电影一区二区三区 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 亚洲毛片一区二区三区 | 亚洲国产手机在线 | 人人狠狠 | 久久久99久久 | 91探花在线| 国产无区一区二区三麻豆 | 欧美日本高清视频 | 国产成人精品一区二区三区福利 | 亚洲专区在线播放 | 激情网五月婷婷 | 亚洲精欧美一区二区精品 | 2019久久精品| 久久极品 | 国产综合精品一区二区三区 | 中文字幕中文字幕在线中文字幕三区 | 日批视频 | 99热超碰 | 99精品热视频 | 欧美亚洲另类在线视频 | 六月丁香激情综合 | 欧美激情精品久久久久久 | 69av在线播放 | 91黄色小视频 | japanesexxxhd奶水 国产一区二区在线免费观看 | 视频在线观看日韩 | 日韩av在线资源 | 国产高清不卡一区二区三区 | 国产999久久久 | 深爱激情av| av中文天堂在线 | 久久久久国产成人精品亚洲午夜 | 中文字幕a在线 | 九九热在线免费观看 | 一本一道久久a久久精品 | 免费a一级 | 在线成人欧美 | 色多视频在线观看 | 日韩丝袜 | 久99久在线 | 麻花传媒mv免费观看 | 欧美日韩国产精品爽爽 | 蜜臀av夜夜澡人人爽人人 | 国产精品ⅴa有声小说 | 深夜福利视频一区二区 | 亚洲精品字幕在线 | 国产在线综合视频 | 欧美性色xo影院 | 日韩视频图片 | 亚洲成人二区 | 99免费视频| 日本黄色免费大片 | 久久99国产精品久久 | 国产一区二区午夜 | 免费av网站在线看 | 在线视频日韩欧美 | 黄色在线成人 | 6080yy午夜一二三区久久 | 四虎成人在线 | 国产一级不卡毛片 | 国产裸体bbb视频 | 99精品视频在线播放观看 | 国产一级视频在线 | 日韩av一区二区在线播放 | 亚洲激情综合 | 三级视频片 | 色综合天天在线 | 国产理伦在线 | 高清av网站| av黄色国产 | 欧美日韩高清一区二区 | 久久久69 | 亚洲午夜精品一区 | 97成人精品区在线播放 | 99福利影院 | 91亚洲精品在线 | 91精品色 | av中文字幕第一页 | 日本aaa在线观看 | 91在线你懂的 | 久久电影网站中文字幕 | av在线播放中文字幕 | 国产精品嫩草影院123 | 久久成人国产精品一区二区 | 在线黄色国产电影 | 国产精品手机看片 | www.五月天色 | 99久久久久久久久 | 91精品国产成人www | 欧美日韩高清在线一区 | 精品久久久久久亚洲 | 日韩成人免费观看 | 中文字幕在线观看视频网站 | 国产精品久久久区三区天天噜 | 亚洲精品综合一区二区 | 日韩二区三区在线 | 香蕉视频国产在线观看 | 国产精品毛片一区视频 | 91麻豆精品国产自产在线 | 四虎影视国产精品免费久久 | 国产精品免费观看久久 | 99视频精品 | www.伊人网 | av综合av| 国产原创在线 | 91精品国产91久久久久久三级 | adn—256中文在线观看 | 日韩欧在线 | 在线看av的网址 | 天天色天天射天天综合网 | 国产视频观看 | 国产99久久久国产精品 | 久久久91精品国产一区二区三区 | 激情婷婷久久 | 99亚洲精品在线 | 国产精品第十页 | 成人av电影在线播放 | 91完整视频| 日韩一级片网址 | 天天综合天天做天天综合 | 丁香婷婷色月天 | 亚州成人av在线 | ,午夜性刺激免费看视频 | 最近中文字幕mv免费高清在线 | 91香蕉视频好色先生 | 午夜视频福利 | 草免费视频 | 欧美少妇影院 | 天天综合网在线观看 | 麻豆系列在线观看 | 在线激情av电影 | 国产精品久久久av | 狂野欧美激情性xxxx欧美 | 久久国产精品免费一区二区三区 | 国产99久久精品一区二区300 | 中文字幕av全部资源www中文字幕在线观看 | 国产中文在线字幕 | 狠狠色狠狠色合久久伊人 | 狂野欧美激情性xxxx欧美 | 亚洲理论在线观看电影 | 国产精品国产三级国产不产一地 | 日韩黄色免费在线观看 | 亚洲毛片在线观看. | 91在线公开视频 | 成人久久久久久久久久 | 国产精品一区二区电影 | 精品国产自在精品国产精野外直播 | 在线播放一区 | 亚洲狠狠操 | 日韩网站一区 | 久久精品免视看 | 免费网站黄 | 亚洲综合在线视频 | 国产在线国偷精品产拍 | 国产五月 | 在线观看国产区 | av天天草| 久久综合欧美 | 中文字幕一区二区三区精华液 | 亚洲成人精品国产 | 91热爆在线观看 | 伊人狠狠色丁香婷婷综合 | 人人干人人草 | 久久a热6 | 国产真实在线 | 成人久久视频 | 国产精品久久久久久久免费观看 | 亚洲精品乱码久久久久久写真 | 五月综合在线观看 | 午夜丁香视频在线观看 | 国内精品久久久 | 99久久日韩精品免费热麻豆美女 | 天天草天天色 | av片子在线观看 | 久久国产午夜精品理论片最新版本 | 日本最新高清不卡中文字幕 | 国产一级二级在线播放 | 亚洲国产精品视频在线观看 | 美女视频黄是免费的 | 国产香蕉97碰碰久久人人 | 成人毛片100免费观看 | 婷婷五情天综123 | 国产精品日韩在线 | 欧美极度另类性三渗透 | 麻豆高清免费国产一区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲激情小视频 | 97超在线| 99r在线视频 | 婷婷六月天丁香 | 亚洲午夜大片 | 日韩成人看片 | 国产精品一区二区电影 | 青青草国产在线 | 日韩视频二区 | 国产123av| 免费视频18 | 中文字幕 第二区 | 国产一级特黄电影 | 四虎在线免费视频 | 91chinesexxx| 国产在线第三页 | 一区精品在线 | 成人在线视频一区 | 黄色电影网站在线观看 | 波多野结衣精品 | 日韩在线观看精品 | 在线成人性视频 | 狠狠亚洲 | 911亚洲精品第一 | 久久久亚洲国产精品麻豆综合天堂 | 欧美激情精品久久久久久 | 久久一区二区三区四区 | 97视频免费在线观看 | 亚洲va男人天堂 | 国产精品久久久久久久av大片 | 亚洲精品天天 | 亚洲高清在线视频 | 超碰国产在线观看 | 色婷婷中文 | 99精品99 | 亚洲精品理论片 | 久久综合久久88 | 成人禁用看黄a在线 | 久久精品99北条麻妃 | 久久久精品国产一区二区电影四季 | 91cn国产在线 | 日本精品久久久久中文字幕 | 久久国产精品偷 | 色婷婷色 | 激情五月婷婷综合网 | 综合色在线 | 精品一二三区视频 | 97成人超碰 | 日日麻批40分钟视频免费观看 | 91视频 - x99av | 中文字幕在线视频一区二区三区 | 五月天欧美精品 | 国产999精品 | 亚洲成av人片在线观看香蕉 | 国产综合久久 | 日韩资源在线 | 日韩 精品 一区 国产 麻豆 | 69国产盗摄一区二区三区五区 | 国产一区 在线播放 | 国产精品久久久区三区天天噜 | 成人黄色毛片视频 | 操操操夜夜操 | 久久视频在线 | 天天射日| 97精品国产97久久久久久 | 欧美久久久久久久 | 欧美日韩一区三区 | 在线激情网 | 国产女教师精品久久av | 99精品在线观看 | 在线观看av黄色 | 中文字幕在线免费观看视频 | 免费欧美精品 | 国产一二区免费视频 | 亚洲国产伊人 | 九九在线视频 | 久久国产精品精品国产色婷婷 | 亚洲精品黄色 | 天堂网一区二区三区 | 99re久久资源最新地址 | 人人射人人爱 | 狠狠亚洲 | 亚洲精品久久久蜜臀下载官网 | 香蕉久草在线 | 丝袜网站在线观看 | 国产不卡在线观看视频 | www99精品| 亚洲一区日韩精品 | 久久久精品视频网站 | 91精品国自产拍天天拍 | 在线欧美最极品的av | 成人高清在线观看 | 精品国产乱码久久久久久1区二区 | 亚洲天堂精品视频在线观看 | 久久婷婷开心 | 中文字幕在线有码 | www..com黄色片 | 国产资源在线免费观看 | 在线观看免费av网站 | 国产91精品看黄网站在线观看动漫 | 精品成人久久 | 亚洲成人动漫在线观看 | 国产精品久久久久久久久久久久 | 五月天婷婷在线播放 | 精品在线视频一区二区三区 | 国产视频日韩视频欧美视频 | 精品不卡视频 | 国产视频亚洲 | 国产免费视频在线 | 国产午夜av| 美女免费黄网站 | 久久69精品久久久久久久电影好 | 久久精品一区八戒影视 | 免费99精品国产自在在线 | 欧美久久久久久久久久久久久 | 激情视频综合网 | 欧美一级在线观看视频 | 深爱激情五月综合 | 99这里只有久久精品视频 | av电影在线观看 | 91免费网站在线观看 | 手机成人av | 精品国产乱码久久久久久三级人 | 日韩精品一区二区三区视频播放 | 国产乱视频 | av中文字幕在线电影 | www.夜色.com| 在线看国产一区 | 操综合 | 久久人视频 | 人人澡人人干 | 日韩久久精品一区 | 免费精品 | 涩涩在线| 日韩免费高清在线 | 日日干天天爽 | 在线精品亚洲一区二区 | 色吧久久 | 国内外成人在线视频 | 国内视频一区二区 | 黄色大片免费网站 | 国产精品二区在线 | 色综合天天综合在线视频 | 日本黄色免费网站 | 欧美久久久影院 | 国产视频二 | 国产福利一区在线观看 | 成人免费在线看片 | 探花视频在线观看 | 久久精品男人的天堂 | 伊人五月天 | 欧美精品三级在线观看 | 婷婷深爱激情 | www五月天 | 欧美三级高清 | 丁香花在线观看免费完整版视频 | 日韩免费av网址 | 色综合天天综合 | 激情视频91| 国产美女网站在线观看 | 亚洲天堂网在线观看视频 | 久久96国产精品久久99漫画 | 在线观av | 欧美在线观看视频一区二区三区 | 日韩av高潮| 日韩视频中文字幕在线观看 | 开心丁香婷婷深爱五月 | 日日夜夜人人天天 | 日本中文字幕系列 | 国产精品久久久久久高潮 | 婷婷色狠狠 | 激情婷婷色 | 麻豆国产在线播放 | av 一区 二区 久久 | 日韩毛片在线播放 | 亚洲美女视频网 | 国产精品大片在线观看 | 国产人成在线视频 | 中文字幕一区av | 成人网大片 | 国产视频一区二区三区在线 | 精品在线亚洲视频 | 色一色在线 | 国产精品一区二区精品视频免费看 | 91久久精品一区 | 欧美精品网站 | 五月婷婷综合激情网 | 欧美巨乳波霸 | 日韩午夜av| 丁香色婷婷 | 欧美一级电影片 | 999久久久免费精品国产 | 丁香婷婷社区 | 男女激情片在线观看 | www.久久com| 日韩最新中文字幕 | 日韩午夜高清 | 国产精品第一页在线观看 | 欧美福利视频 | 天天色天天射天天综合网 | 97狠狠操 | 久久久久久久国产精品视频 | 免费av看片| 91天堂素人约啪 | 日韩欧美有码在线 | 99视频在线精品免费观看2 | www.久久久.cum| 国产在线高清视频 | av网站在线观看播放 | 香蕉在线影院 | 91少妇精拍在线播放 | 久草在线官网 | 麻豆精品视频在线 | 粉嫩av一区二区三区四区 | 九热精品| 久久久精品国产一区二区 | 国产在线不卡一区 | 狠狠色噜噜狠狠 | 激情开心色 | 亚洲精品欧美精品 | 五月婷婷,六月丁香 | 久久天天躁狠狠躁亚洲综合公司 | 黄色av电影免费观看 | 日韩特黄一级欧美毛片特黄 | 午夜视频在线观看网站 | 在线免费黄色av | 国产成人久久 | 免费看黄色小说的网站 | www久久久| 精品国偷自产国产一区 | 久插视频| 国产一二三在线视频 | 六月丁香婷 | 波多野结衣精品在线 | 国产精品一区欧美 | 日本中文字幕在线电影 | 欧美日韩伦理在线 | 欧美有色| 精品久久久久久一区二区里番 | 人人爽人人澡人人添人人人人 | 91精品国产高清自在线观看 | 国产麻豆剧果冻传媒视频播放量 | 精品国产乱码久久久久久天美 | 99精品在线看 | www夜夜操| 国产三级香港三韩国三级 | 9在线观看免费 | 玖玖玖在线观看 | 亚洲人成在线电影 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 久久久久亚洲精品 | 欧美做受高潮1 | 久久综合久色欧美综合狠狠 | 97超碰免费 | 欧美成人69av| 网站在线观看日韩 | 国产成人三级一区二区在线观看一 | 日本aaa在线观看 | 欧美性超爽 | 96精品高清视频在线观看软件特色 | 少妇性色午夜淫片aaaze | 日本久久久久久科技有限公司 | 中文字幕亚洲欧美日韩2019 | www国产亚洲精品久久麻豆 | 友田真希x88av | 国产 日韩 在线 亚洲 字幕 中文 | 另类老妇性bbwbbw高清 | 久久综合干 | 亚洲一区免费在线 | 久久久夜色 | 国产精品成人aaaaa网站 | 成人免费在线观看av | 91九色在线观看视频 | 亚洲精品影院在线观看 | 久草精品在线观看 | 在线看小早川怜子av | 成人免费观看视频大全 | 91福利社在线观看 | 午夜精品一区二区国产 | 国产精品视频地址 | 欧美激情视频一区 | 免费看的黄网站软件 | 久久国产精品偷 | 96视频在线 | 成人黄色电影在线观看 | 久久久久国产a免费观看rela | 久久 地址 | 国产玖玖精品视频 | 成人资源网 | 久久国产精品色婷婷 | 婷婷亚洲综合五月天小说 | 99久久这里有精品 | 黄色一级免费电影 | 久久综合在线 | 九九热视频在线播放 | 亚洲综合视频在线观看 | 操操综合 | 欧美少妇xxx | 午夜精品视频在线 | 岛国大片免费视频 | 国产成人精品一区二区三区在线观看 | 亚洲视频免费在线观看 | 国产一级特黄毛片在线毛片 | 伊人国产视频 | 四虎在线免费 | 97人人看| 在线a视频免费观看 | 中文字幕一区2区3区 | 国产二区av | 日韩免费视频网站 | 99亚洲精品在线 | 中文字幕黄色网址 | 99人成在线观看视频 | 亚洲自拍自偷 | 99热99 | 91精品国产自产老师啪 | 久久91久久久久麻豆精品 | 国产中文字幕一区 | 免费精品视频在线观看 | 国产精品对白一区二区三区 | 狠狠狠色丁香综合久久天下网 | av短片在线 | 色综合久久久久综合99 | 久草在线免费资源 | 国产午夜精品在线 | 激情视频区 | 国产黄色大片 | 天天曰天天射 | 亚洲精品激情 | 高清av在线免费观看 | 国产精品久久久免费 | 亚洲精品久久久久58 | 中文字幕国产一区二区 | 久草视频中文 | 1区2区3区在线观看 三级动图 | 黄色av网站在线观看免费 | 国产精品福利小视频 | 18做爰免费视频网站 | 婷婷九月激情 | 97碰在线 | 国产精品免费不 | 福利网址在线观看 | 色九九视频 | 好看av在线 | 色综合天天视频在线观看 | 97夜夜澡人人爽人人免费 | 亚洲影音先锋 | 欧美伦理一区二区三区 | 欧美最猛性xxxxx免费 | 激情开心网站 | 国产精品地址 | 婷婷综合国产 | 亚洲黄色免费网站 | 色www永久免费 | 涩五月婷婷 | 丁香婷婷网 | 天天操天天干天天操天天干 | 日日夜夜人人天天 | 天堂在线一区二区 | 日韩二区三区在线观看 | 亚洲欧美精品一区 | 五月婷网 | av福利超碰网站 | 中文字幕视频观看 | 天天干天天搞天天射 | 久久综合视频网 | 激情丁香月 | 美国三级黄色大片 | 国模吧一区 | 天天天插 | 在线免费国产 | www.国产精品 | 亚洲男男gⅴgay双龙 | av在线一级| 丁香婷婷自拍 | 日本护士撒尿xxxx18 | 国产理论在线 | 国产日韩精品欧美 | 免费视频你懂的 | 麻豆成人小视频 | 国产精品免费不 | 超碰在线免费97 | 97偷拍在线视频 | 欧美 另类 交 | 97超碰影视 | 中文高清av | 国产视频一区二区在线播放 | 午夜av一区 | 婷婷九月丁香 | 国产精品久久久视频 | 国产精品露脸在线 | 国产高清在线永久 | 在线免费高清视频 | 九九九九免费视频 | 国产日韩在线播放 | 精品国模一区二区 | 久久精品香蕉视频 | 一区二区三区四区五区六区 | 麻花传媒mv免费观看 | 精品a级片| 国产精品爽爽久久久久久蜜臀 | 成人一区二区三区在线 | 一区二区三区精品在线视频 | 人人看黄色 | 天天做天天爱天天爽综合网 | 亚洲精品99久久久久中文字幕 | 日韩网站一区 | 久操久| av网站免费线看精品 | 日本一区二区免费在线观看 | 88av网站 | 日韩av偷拍 | 久久久久国产精品午夜一区 | 久久午夜电影网 | 欧美精品久久人人躁人人爽 | 又黄又色又爽 | 午夜电影中文字幕 | 日韩精品一区在线观看 | 免费在线观看成人 | 99精品视频在线观看视频 | 字幕网资源站中文字幕 | 国产精品视频app | 美女久久精品 | www.69xx| 97精品国产97久久久久久久久久久久 | 在线观看日本韩国电影 | 日韩二级毛片 | 中文字幕 国产视频 | 精品国产aⅴ麻豆 | 日韩av资源在线观看 | 久久久久久久久久久综合 | 97超碰人 | 国产99久久九九精品免费 | 高清av免费一区中文字幕 | 99999精品视频 | 韩国av不卡 | 手机在线黄色网址 | 天天综合操 | 日韩三级久久 | 91免费在线视频 | 日韩av中文在线 | www.夜夜草| 国产亚洲在线视频 | 一区二区三区中文字幕在线 | 四虎国产精品免费观看视频优播 | 亚洲国产一区av | 久久爽久久爽久久av东京爽 | 国产精品欧美日韩在线观看 | 婷色在线 | 不卡中文字幕在线 | 国产一区视频免费在线观看 | 天天综合网在线 | 欧美综合在线观看 | 亚洲精品欧洲精品 | 又黄又刺激视频 | 国产97在线播放 | 久久久影院官网 | 久久96国产精品久久99漫画 | 爱干视频 | 综合久久精品 | 精品999久久久 | 亚洲精品在线观看视频 | 黄网站免费久久 | 日本爱爱免费视频 | 亚洲成人资源网 | 六月激情网| 久久精品婷婷 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 毛片网站在线看 |