青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

twzheng's cppblog

『站在風口浪尖緊握住鼠標旋轉!』 http://www.cnblogs.com/twzheng

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  136 隨筆 :: 78 文章 :: 353 評論 :: 0 Trackbacks

SQL Server 數據庫事務處理詳解

摘自:“十萬個為什么”電腦學習網(http://www.why100000.com)

事務定義:

事務是單個的工作單元。如果某一事務成功,則在該事務中進行的所有數據更改均會提交,成為數據庫中的永久組成部分。如果事務遇到錯誤且必須取消或回滾,則所有數據更改均被清除。

事務三種運行模式:
自動提交事務每條單獨的語句都是一個事務。顯式事務每個事務均以 BEGIN TRANSACTION 語句顯式開始,以 COMMIT 或 ROLLBACK 語句顯式結束。隱性事務在前一個事務完成時新事務隱式啟動,但每個事務仍以 COMMIT 或 ROLLBACK 語句顯式完成。

事務操作的語法:

BEGIN TRANSACTION
BEGIN DISTRIBUTED TRANSACTION
COMMIT TRANSACTION
COMMIT WORK
ROLLBACK WORK
SAVE TRANSACTION
BEGIN TRANSACTION

BEGIN TRANSACTION
標記一個顯式本地事務的起始點。

BEGIN TRANSACTION將 @@TRANCOUNT 加 1。

BEGIN TRANSACTION 代表一點,由連接引用的數據在該點是邏輯和物理上都一致的。如果遇上錯誤,在 BEGIN TRANSACTION 之后的所有數據改動都能進行回滾,以將數據返回到已知的一致狀態 。每個事務繼續執行直到它無誤地完成并且用 COMMIT TRANSACTION 對數據庫作永久的改動,或者遇上錯誤并且用 ROLLBACK TRANSACTION 語句擦除所有改動

語法
BEGIN TRAN [ SACTION ] [ transaction_name | @tran_name_variable [ WITH MARK [ ’description’ ] ] ]

例子:
BEGIN TRAN T1
UPDATE table1 ...
--nest transaction M2
BEGIN TRAN M2 WITH MARK
UPDATE table2 ...
SELECT * from table1
COMMIT TRAN M2
UPDATE table3 ...
COMMIT TRAN T1

BEGIN DISTRIBUTED TRANSACTION
指定一個由 Microsoft 分布式事務處理協調器 (MS DTC) 管理的 Transact-SQL 分布式事務的起始。

語法
BEGIN DISTRIBUTED TRAN [ SACTION ]
[ transaction_name | @tran_name_variable ]

參數
transaction_name
是用戶定義的事務名,用于跟蹤 MS DTC 實用工具中的分布式事務。 transaction_name 必須符合標識符規則,但是僅使用頭 32 個字符

@tran_name_variable
是用戶定義的一個變量名,它含有一個事務名,該事務名用于跟蹤 MS DTC 實用工具中的分布式事務。必須用 char、varchar、nchar 或 nvarchar 數據類型聲明該變量。

注釋
執行BEGIN DISTRIBUTED TRANSACTION 語句的服務器是事務創建人,并且控制事務的完成

當連接發出后續 COMMIT TRANSACTION 或 ROLLBACK TRANSACTION 語句時,
主控服務器請求 MS DTC 在所涉及的服務器間管理分布式事務的完成。

有兩個方法可將遠程 SQL 服務器登記在一個分布式事務中:
分布式事務中已登記的連接執行一個遠程存儲過程調用,該調用引用一個遠程服務器。
分布式事務中已登記的連接執行一個分布式查詢,該查詢引用一個遠程服務器。

示例
本例在本地和遠程數據庫上更新作者的姓。本地和遠程數據庫將同時提交或同時回滾本事務。

說明
當前的SQL Server 上必須安裝 MS DTC.

USE pubs
GO
BEGIN DISTRIBUTED TRANSACTION
UPDATE authors
SET au_lname = ’McDonald’ WHERE au_id = ’409-56-7008’
EXECUTE link_Server_T.pubs.dbo.changeauth_lname ’409-56-7008’,’McDonald’
COMMIT TRAN
GONote:
如果需要連接遠程DB,如果是linkServer 方式連接的話,一定要修該linkServer的 RPC 選項置為 True。

SET XACT_ABORT
指定當 Transact-SQL 語句產生運行時錯誤時,Microsoft? SQL Server? 是否自動回滾當前事務。

( 可以比較簡單的理解,如果中間有任何一句SQL 出錯,所有SQL全部回滾.特別適用于 Procedure 中間調用Procedure ,如果第一個Procedure Ok,被調用的Procedure 中間有錯誤,如果SET XACT_ABORT=false,則出錯的部分回滾,其他部分提交,當然外部Procedure 也提交。).

---在分布式Trans中一定要注意設置下面參數(XACT_ABORT)

語法SET XACT_ABORT { ON | OFF }

注釋 當 SET XACT_ABORT 為 ON 時,如果 Transact-SQL 語句產生運行時錯誤,整個事務將終止并回滾。為 OFF 時,只回滾產生錯誤的Transact-SQL 語句,而事務將繼續進行處理。編譯錯誤(如語法錯誤)不受 SET XACT_ABORT 的影響。

對于大多數 OLE DB 提供程序(包括 SQL Server),隱性或顯式事務中的數據修改語句必須將 XACT_ABORT 設置為 ON。

SET XACT_ABORT 的設置是在執行或運行時設置,而不是在分析時設置。

示例 下例導致在含有其它 Transact-SQL 語句的事務中發生違反外鍵錯誤。在第一個語句集中產生錯誤,但其它語句均成功執行且事務成功提交。在第二個語句集中,SET XACT_ABORT 設置為 ON。這導致語句錯誤使批處理終止,并使事務回滾。

CREATE TABLE t1 (a int PRIMARY KEY)
CREATE TABLE t2 (a int REFERENCES t1(a))
GO
INSERT INTO t1 VALUES (1)
INSERT INTO t1 VALUES (3)
INSERT INTO t1 VALUES (4)
INSERT INTO t1 VALUES (6)
GO
SET XACT_ABORT OFF
GO
BEGIN TRAN
INSERT INTO t2 VALUES (1)
INSERT INTO t2 VALUES (2) /* Foreign key error */
INSERT INTO t2 VALUES (3)
COMMIT TRAN
GO

SET XACT_ABORT ON
GO

BEGIN TRAN
INSERT INTO t2 VALUES (4)
INSERT INTO t2 VALUES (5) /* Foreign key error */
INSERT INTO t2 VALUES (6)
COMMIT TRAN
GO

SAVE TRANSACTION
在事務內設置保存點。

語法 SAVE TRAN [ SACTION ] { savepoint_name | @savepoint_variable }
參數 savepoint_name 是指派給保存點的名稱。保存點名稱必須符合標識符規則,但只使用前 32 個字符。
@savepoint_variable 是用戶定義的、含有有效保存點名稱的變量的名稱。
必須用 char、varchar、nchar 或 nvarchar 數據類型聲明該變量。 注釋用戶可以在事務內設置保存點或標記。保存點定義如果有條件地取消事務的一部分,事 務可以返回的位置。如果將事務回滾到保存點,則必須(如果需要,使用更多的 Transact-SQL 語句和 COMMIT TRANSACTION 語句)繼續完成事務,或者必須(通過將事務回滾到其起始點)完全取消事務。若要取消整個事務,請使用 ROLLBACK TRANSACTION transaction_name 格式。這將撤消事務的所 有語句和過程。

Note:
1: 在由 BEGIN DISTRIBUTED TRANSACTION 顯式啟動或從本地事務升級而來的分布式事務中,不支持 SAVE TRANSACTION。
2:當事務開始時,將一直控制事務中所使用的資源直到事務完成(也就是鎖定)。當將事務的一部分回滾到保存點時,將繼續控制資源直到事務完成(或者回滾全部事務)。

例子:begin transaction
save transaction A
insert into demo values(’BB’,’B term’)
rollback TRANSACTION A
create table demo2(name varchar(10),age int)
insert into demo2(name,age) values(’lis’,1)
commit transaction

ROLLBACK TRANSACTION

將顯式事務或隱性事務回滾到事務的起點或事務內的某個保存點。
語法
ROLLBACK [ TRAN [ SACTION ]
[ transaction_name | @tran_name_variable | savepoint_name | @savepoint_variable ] ]

參數
transaction_name
是給 BEGIN TRANSACTION 上的事務指派的名稱。transaction_name 必須符合標識符規則,但只使用事務名稱的前 32 個字符。嵌套
事務時,transaction_name 必須是來自最遠的 BEGIN TRANSACTION 語句的名稱。
@tran_name_variable
是用戶定義的、含有有效事務名稱的變量的名稱。必須用 char、varchar、nchar 或 nvarchar 數據類型聲明該變量。
savepoint_name
是來自 SAVE TRANSACTION 語句的 savepoint_name。savepoint_name 必須符合標識符規則。當條件回滾只影響事務的一部分時使 用 savepoint_name。
@savepoint_variable
是用戶定義的、含有有效保存點名稱的變量的名稱。必須用 char、varchar、nchar 或 nvarchar 數據類型聲明該變量。

注釋 ROLLBACK TRANSACTION 清除自事務的起點或到某個保存點所做的所有數據修改。ROLLBACK 還釋放由事務控制的資源。
不帶 savepoint_name 和 transaction_name 的 ROLLBACK TRANSACTION 回滾到事務的起點。嵌套事務時,該語句將所有內層事務回滾到 最遠的 BEGIN TRANSACTION 語句。在這兩種情況下,ROLLBACK TRANSACTION 均將 @@TRANCOUNT 系統函數減為 0。ROLLBACK
TRANSACTION savepoint_name 不減少 @@TRANCOUNT。

Note:
ROLLBACK TRANSACTION 語句若指定 savepoint_name 則不釋放任何鎖。
在由 BEGIN DISTRIBUTED TRANSACTION 顯式啟動或從本地事務升級而來的分布式事務中,ROLLBACK TRANSACTION 不能引用savepoint_name。在執行 COMMIT TRANSACTION 語句后不能回滾事務。

在事務內允許有重復的保存點名稱,但 ROLLBACK TRANSACTION 若使用重復的保存點名稱,則只回滾到最近的使用該保存點名稱的SAVE TRANSACTION。

在存儲過程中,不帶 savepoint_name 和 transaction_name 的 ROLLBACK TRANSACTION 語句將所有語句回滾到最遠的 BEGINTRANSACTION。在存儲過程中,ROLLBACK TRANSACTION 語句使 @@TRANCOUNT 在觸發器完成時的值不同于調用該存儲過程時的@@TRANCOUNT 值,并且生成一個信息。該信息不影響后面的處理。

如果在觸發器中發出 ROLLBACK TRANSACTION:將回滾對當前事務中的那一點所做的所有數據修改,包括觸發器所做的修改。
觸發器繼續執行 ROLLBACK 語句之后的所有其余語句。如果這些語句中的任意語句修改數據,則不回滾這些修改。執行其余的語句不會激發嵌套觸發器。在批處理中,不執行所有位于激發觸發器的語句之后的語句。每次進入觸發器,@@TRANCOUNT 就增加 1,即使在自動提交模式下也是如此。(系統將觸發器視作隱性嵌套事務。)

在存儲過程中,ROLLBACK TRANSACTION 語句不影響調用該過程的批處理中的后續語句;
將執行批處理中的后續語句。在觸發器中,ROLLBACK TRANSACTION 語句終止含有激發觸發器的語句的批處理;
不執行批處理中的后續語句。

ROLLBACK TRANSACTION 語句不生成顯示給用戶的信息。如果在存儲過程或觸發器中需要警告,請使用 RAISERROR 或 PRINT 語句。RAISERROR 是用于指出錯誤的首選語句。

ROLLBACK 對游標的影響由下面三個規則定義:
當 CURSOR_CLOSE_ON_COMMIT 設置為 ON 時,ROLLBACK 關閉但不釋放所有打開的游標。
當 CURSOR_CLOSE_ON_COMMIT 設置為 OFF 時,ROLLBACK 不影響任何打開的同步 STATIC 或 INSENSITIVE 游標不影響已完全填充的異步 STATIC 游標。將關閉但不釋放任何其它類型的打開的游標。
對于導致終止批處理并生成內部回滾的錯誤,將釋放在含有該錯誤語句的批處理內聲明的所有游標。
不論游標的類型或 CURSOR_CLOSE_ON_COMMIT 的設置,所有游標均將被釋放,其中包括在該錯誤批處理所調用的存儲過程內聲明的游標。在該錯誤批處理之前的批處理內聲明的游標以規則 1 和 2 為準。死鎖錯誤就屬于這類錯誤。在觸發器中發出的 ROLLBACK 語句也 自動生成這類錯誤。

權限
ROLLBACK TRANSACTION 權限默認授予任何有效用戶。
例子:

begin transaction
save transaction A
insert into demo values(’BB’,’B term’)
rollback TRANSACTION A

-- select * into demo2 from demo1

create table demo2(name varchar(10),age int)
insert into demo2(name,age) values(’lis’,1)
rollback transaction

COMMIT TRANSACTION
標志一個成功的隱性事務或用戶定義事務的結束。如果 @@TRANCOUNT 為 1,COMMIT

TRANSACTION 使得自從事務開始以來所執行的 所有數據修改成為數據庫的永久部分,釋放連接占用的資源,并將 @@TRANCOUNT 減少到 0。如果@@TRANCOUNT 大于 1,則COMMIT

TRANSACTION 使 @@TRANCOUNT 按 1 遞減。

只有當事務所引用的所有數據的邏輯都正確時,發出 COMMIT TRANSACTION 命令。
COMMIT WORK
標志事務的結束。
語法
COMMIT [ WORK ]

注釋
此語句的功能與 COMMIT TRANSACTION 相同,但 COMMIT TRANSACTION 接受用戶定義的事務

名稱。這個指定或沒有指定可選關鍵字WORK 的 COMMIT 語法與 SQL-92 兼容

例子:
begin transaction a
insert into demo values(’BB’,’B term’)
commit TRANSACTION A

隱性事務
當連接以隱性事務模式進行操作時,SQL Server將在提交或回滾當前事務后自動啟動新事務。無須描述事務的開始,只需提交或回滾每個事務。隱性事務模式生成連續的事務鏈。

在為連接將隱性事務模式設置為打開之后,當 SQL Server 首次執行下列任何語句時,都會自動啟動一個事務:

  ALTER TABLE
  INSERT

 CREATE
 OPEN

 DELETE
 REVOKE

 DROP
 SELECT

 FETCH
 TRUNCATE TABLE

 GRANT
 UPDATE

在發出 COMMIT 或 ROLLBACK 語句之前,該事務將一直保持有效。在第一個事務被提交或回滾之后,下次當連接執行這些語句中的任何語句時,SQL Server 都將自動啟動一個新事務。SQL Server 將不斷地生成一個隱性事務鏈,直到隱性事務模式關閉為止。

例子:
begin transaction
save transaction A

insert into demo values(’BB’,’B term’)
rollback TRANSACTION A

create table demo2(name varchar(10),age int)
insert into demo2(name,age) values(’lis’,1)
rollback transaction
-- 在 Create table demo2 時 SQL Server 已經隱式創建一個Trans,知道提交或回滾

嵌套事務處理:

1:Trans 嵌套,將內部的trans 合并到外部并形成一個Trans.

begin tran t1

----In the first trans .
Insert into demo2(name,age) values(’lis’,1)

---Second Trans begin transaction t2
insert into demo values(’BB’,’B term’)
commit transaction t2

----In the first trans .
Insert into demo2(name,age) values(’lis’,2)
rollback transaction t1

Note:

在一系列嵌套的事務中用一個事務名給多個事務命名對該事務沒有什么影響。系統僅登記第一個(最外部的)事務名。回滾到其它任何名字(有效的保存點名除外)都會產生錯誤。事實上,任何在回滾之前執行的語句都沒有在錯誤發生時回滾。這語句僅當外層的事務回滾時才會進行回滾。

例:內部事務回滾SQL server 報錯。

begin tran t1
Insert into demo2(name,age) values(’lis’,1)
---Second Trans

--Server: Msg 6401, Level 16, State 1, Line 6
---Cannot roll back t2. No transaction or savepoint of that name was found.
begin transaction t2
insert into demo values(’BB’,’B term’)
rollback transaction t2

----In the first trans .
Insert into demo2(name,age) values(’lis’,2)
commit transaction t1

例: 內部事務提交SQL server 不會報錯。

begin tran t1
Insert into demo2(name,age) values(’lis’,1)
---Second Trans no error
begin transaction t2
insert into demo values(’BB’,’B term’)
commit transaction t2

----In the first trans .
Insert into demo2(name,age) values(’lis’,2)
commit transaction t1

SQL Server 的隔離級別:

1: 設置TimeOut 參數

Set Lock_TimeOut 5000

被鎖超時5秒將自動解鎖

Set Lock_TimeOut 0

產立即解鎖,返回Error 默認為-1,無限等待

2:

(SET TRANSACTION ISOLATION LEVEL
{ READ COMMITTED
| READ UNCOMMITTED
| REPEATABLE READ | SERIALIZABLE})

READ COMMITTED

指定在讀取數據時控制共享鎖以避免臟讀,但數據可在事務結束前更改,從而產生不可重復讀取或幻像數據。該選項是SQL Server 的默認值。

避免臟讀,并在其他session 在事務中不能對已有數據進行修改。共享鎖。

READ UNCOMMITTED

執行臟讀或 0 級隔離鎖定,這表示不發出共享鎖,也不接受排它鎖。當設置該選項時,可以對數據執行未提交讀或臟讀;在事務結束前可以更改數據內的數值,行也可以出現在數據集中或從數據集消失。該選項的作用與在事務內所有語句中的所有表上設置 NOLOCK 相同。這是四個隔離級別中限制最小的級別。

REPEATABLE READ

鎖定查詢中使用的所有數據以防止其他用戶更新數據,但是其他用戶可以將新的幻像行插入數據集,且幻像行包括在當前事務的后續讀取中。因為并發低于默認隔離級別,所以應只在必要時才使用該選項。

SERIALIZABLE

在數據集上放置一個范圍鎖,以防止其他用戶在事務完成之前更新數據集或將行插入數據集內。這是四個隔離級別中限制最大的級別。因為并發級別較低,所以應只在必要時才使用該選項。該選項的作用與在事務內所有 SELECT 語句中的所有表上設置 HOLDLOCK 相同。

posted on 2007-12-19 00:21 譚文政 閱讀(3970) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲免费av片| 欧美午夜在线一二页| 久久激情中文| 亚洲免费视频在线观看| 中国女人久久久| 亚洲美女在线看| 亚洲最新视频在线| 亚洲伦理在线观看| 久久不射电影网| 久久激情视频免费观看| 欧美日韩亚洲综合| 亚洲高清免费视频| 91久久精品www人人做人人爽| 亚洲久色影视| 黄色成人在线免费| 久久高清国产| 亚洲国产精品一区在线观看不卡| 亚洲免费高清| 欧美日韩精品久久久| 亚洲欧洲在线播放| 中文一区字幕| 亚洲一区二区三区免费观看| 亚洲欧洲日本专区| 亚洲欧美激情精品一区二区| 欧美一区二区视频网站| 亚洲专区一二三| 国产麻豆综合| 亚洲一级一区| 久久精品人人爽| 禁久久精品乱码| 欧美日韩精品免费观看视一区二区 | 国产精品国产精品| 欧美视频中文一区二区三区在线观看 | 黄色日韩网站| 亚洲视屏在线播放| 欧美黄色免费网站| 久久婷婷国产麻豆91天堂| 国产精品极品美女粉嫩高清在线| 在线观看91精品国产麻豆| 亚洲欧美在线视频观看| 欧美激情五月| 欧美激情第1页| 亚洲高清一区二| 久久综合导航| 久久www免费人成看片高清| 国产精品国产三级国产a| 亚洲乱码国产乱码精品精可以看 | 激情六月婷婷久久| 美女黄色成人网| 久久琪琪电影院| 亚洲高清在线播放| 亚洲深夜福利| 樱桃国产成人精品视频| 亚洲高清不卡在线| 欧美日产一区二区三区在线观看| 亚洲伦理在线| 亚洲视频观看| 一区二区亚洲精品| 国产精品国产三级国产普通话99| 性欧美暴力猛交另类hd| 久久免费高清| 亚洲自拍16p| 欧美www视频| 久久精品一本| 国产精品入口66mio| 亚洲国产cao| 狠狠色丁香久久婷婷综合丁香| 亚洲高清在线观看一区| 好吊视频一区二区三区四区| 亚洲精品免费一二三区| 亚洲激情成人| 久久亚洲免费| 国产精品日本| 亚洲深夜福利| 亚洲欧美日韩在线播放| 久久中文在线| 欧美国产视频在线| 精品成人在线| 久久综合狠狠| 亚洲高清在线| 一区二区高清视频| 久久精品亚洲国产奇米99| 欧美亚洲日本网站| 欧美午夜视频在线| 日韩一区二区久久| 亚洲一区二区3| 国产九九精品| 久久精品道一区二区三区| 久久五月天婷婷| 亚洲国产精品热久久| 欧美精品免费观看二区| 一区二区三区产品免费精品久久75| 在线电影院国产精品| 欧美精品一区三区在线观看| 亚洲亚洲精品三区日韩精品在线视频| 老司机精品视频网站| 蜜臀av性久久久久蜜臀aⅴ| 亚洲国产精品va在线看黑人| 欧美激情综合色综合啪啪| 夜夜嗨av一区二区三区| 欧美伊人久久久久久久久影院 | 国产噜噜噜噜噜久久久久久久久| 99精品视频免费观看| 午夜日韩在线观看| 亚洲国产欧美一区二区三区同亚洲| 欧美另类极品videosbest最新版本| 亚洲一区视频在线| 亚洲精品乱码久久久久久久久| 久久精品国产一区二区三区 | 欧美激情影音先锋| 先锋影音国产精品| 99riav久久精品riav| 亚洲国产精品va| 欧美99久久| 欧美成年人网站| 免费成人小视频| 快射av在线播放一区| 久久精彩免费视频| 久久久国产精品亚洲一区| 久久国产主播| 久久久午夜视频| 欧美高清在线一区| 亚洲国产第一| 99精品久久免费看蜜臀剧情介绍| 亚洲国产成人av| 亚洲伦伦在线| 欧美一区二区成人| 欧美福利视频| 国产精品午夜电影| 在线观看一区视频| 亚洲一区二区视频在线| 久久精品日韩一区二区三区| 欧美专区日韩专区| 亚洲一区二区在线免费观看视频| 一区二区三欧美| 亚洲人成网站色ww在线| 久久精品国产免费看久久精品| 亚洲欧美日韩成人高清在线一区| 欧美女同视频| 日韩一级免费观看| 日韩亚洲欧美中文三级| 欧美va天堂在线| 亚洲三级国产| 日韩视频在线观看一区二区| 欧美刺激性大交免费视频| 欧美激情精品久久久久久变态| 在线日韩视频| 欧美高清视频一区二区三区在线观看| 久久夜精品va视频免费观看| 国内精品伊人久久久久av影院| 欧美在线视频观看| 免费欧美在线| 99精品视频网| 国产精品久久久99| 午夜精品美女久久久久av福利| 欧美在线亚洲| 亚洲国产成人午夜在线一区| 男男成人高潮片免费网站| 亚洲人线精品午夜| 亚洲综合国产激情另类一区| 国产情侣一区| 老司机午夜精品视频| 亚洲精品国产精品久久清纯直播| 亚洲欧美国内爽妇网| 国内自拍视频一区二区三区| 蜜桃av一区二区| 亚洲视频电影在线| 免费人成网站在线观看欧美高清| 日韩午夜激情| 国产视频一区免费看| 美女图片一区二区| 中日韩午夜理伦电影免费| 久久欧美中文字幕| 在线亚洲电影| 亚洲高清123| 国产精品色婷婷| 欧美大片91| 欧美与黑人午夜性猛交久久久| 亚洲国产成人在线| 久久精品国产91精品亚洲| 日韩特黄影片| 国产亚洲一区二区三区在线播放| 欧美成人一品| 欧美一区激情视频在线观看| 日韩视频免费看| 免费欧美网站| 久久久久成人精品| 亚洲在线视频网站| 亚洲精品乱码久久久久久按摩观| 国产女精品视频网站免费| 欧美激情欧美狂野欧美精品| 久久黄色影院| 亚洲欧美自拍偷拍| 一区二区三区国产在线观看| 欧美国产国产综合| 久久综合网hezyo| 久久成人免费网| 亚洲欧美日本国产专区一区| 日韩视频在线一区二区三区| 亚洲欧美日本在线|