成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 全面解析Oracle Procedure 基本語法

全面解析Oracle Procedure 基本語法

熱門標簽:百度地圖標注途經(jīng)點 圖吧網(wǎng)站地圖標注 山東crm外呼系統(tǒng)軟件 地圖標注養(yǎng)老院 哈爾濱電話機器人銷售招聘 慧營銷crm外呼系統(tǒng)丹丹 開發(fā)外呼系統(tǒng) 哪個400外呼系統(tǒng)好 愛客外呼系統(tǒng)怎么樣

關(guān)鍵字: oracle 存儲過程

1.基本結(jié)構(gòu)

CREATE OR REPLACE PROCEDURE 存儲過程名字 
( 
 參數(shù)1 IN NUMBER, 
 參數(shù)2 IN NUMBER 
) IS 
變量1 INTEGER :=0; 
變量2 DATE; 
BEGIN 

END 存儲過程名字

2.SELECT INTO STATEMENT

  將select查詢的結(jié)果存入到變量中,可以同時將多個列存儲多個變量中,必須有一條

  記錄,否則拋出異常(如果沒有記錄拋出NO_DATA_FOUND)

  例子:

 BEGIN 
 SELECT col1,col2 into 變量1,變量2 FROM typestruct where xxx; 
 EXCEPTION 
 WHEN NO_DATA_FOUND THEN 
 xxxx; 
 END; 
 ... 

3.IF 判斷

 IF V_TEST=1 THEN 
 BEGIN 
 do something 
 END; 
 END IF;

4.while 循環(huán)

WHILE V_TEST=1 LOOP 
 BEGIN 
XXXX 
 END; 
 END LOOP;

5.變量賦值

  V_TEST := 123;

6.用for in 使用cursor

 ... 
 IS 
 CURSOR cur IS SELECT * FROM xxx; 
 BEGIN 
FOR cur_result in cur LOOP 
 BEGIN 
 V_SUM :=cur_result.列名1+cur_result.列名2 
 END; 
END LOOP; 
 END;

7.帶參數(shù)的cursor

 CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID; 
 OPEN C_USER(變量值); 
 LOOP 
FETCH C_USER INTO V_NAME; 
EXIT FETCH C_USER%NOTFOUND; 
 do something 
 END LOOP; 
 CLOSE C_USER;

8.用pl/sql developer debug

  連接數(shù)據(jù)庫后建立一個Test WINDOW

  在窗口輸入調(diào)用SP的代碼,F9開始debug,CTRL+N單步調(diào)試

轉(zhuǎn)載:

oracle 存儲過程

關(guān)鍵字: oracle 存儲過程

存儲過程創(chuàng)建語法:   

create or replace procedure 存儲過程名(param1 in type,param2 out type)

as

變量1 類型(值范圍);

變量2 類型(值范圍);

Begin 
 Select count(*) into 變量1 from 表A where列名=param1; 
 If (判斷條件) then 
 Select 列名 into 變量2 from 表A where列名=param1; 
 Dbms_output。Put_line(‘打印信息'); 
 Elsif (判斷條件) then 
 Dbms_output。Put_line(‘打印信息'); 
 Else 
 Raise 異常名(NO_DATA_FOUND); 
 End if; 
Exception 
 When others then 
 Rollback; 
End;

注意事項:

1,  存儲過程參數(shù)不帶取值范圍,in表示傳入,out表示輸出

2,  變量帶取值范圍,后面接分號

3,  在判斷語句前最好先用count(*)函數(shù)判斷是否存在該條操作記錄

4,  用select 。。。into。。。給變量賦值

5,  在代碼中拋異常用 raise+異常名

以命名的異常

命名的系統(tǒng)異常                          產(chǎn)生原因

ACCESS_INTO_NULL   未定義對象 
CASE_NOT_FOUND   CASE 中若未包含相應(yīng)的 WHEN ,并且沒有設(shè)置 
ELSE 時 
COLLECTION_IS_NULL  集合元素未初始化 
CURSER_ALREADY_OPEN  游標已經(jīng)打開 
DUP_VAL_ON_INDEX   唯一索引對應(yīng)的列上有重復(fù)的值 
INVALID_CURSOR   在不合法的游標上進行操作 
INVALID_NUMBER   內(nèi)嵌的 SQL 語句不能將字符轉(zhuǎn)換為數(shù)字 
NO_DATA_FOUND   使用 select into 未返回行,或應(yīng)用索引表未初始化的 
TOO_MANY_ROWS   執(zhí)行 select into 時,結(jié)果集超過一行 
ZERO_DIVIDE    除數(shù)為 0 
SUBSCRIPT_BEYOND_COUNT 元素下標超過嵌套表或 VARRAY 的最大值 
SUBSCRIPT_OUTSIDE_LIMIT 使用嵌套表或 VARRAY 時,將下標指定為負數(shù) 
VALUE_ERROR    賦值時,變量長度不足以容納實際數(shù)據(jù) 
LOGIN_DENIED    PL/SQL 應(yīng)用程序連接到 oracle 數(shù)據(jù)庫時,提供了不 
正確的用戶名或密碼 
NOT_LOGGED_ON   PL/SQL 應(yīng)用程序在沒有連接 oralce 數(shù)據(jù)庫的情況下 
訪問數(shù)據(jù) 
PROGRAM_ERROR   PL/SQL 內(nèi)部問題,可能需要重裝數(shù)據(jù)字典& pl./SQL 
系統(tǒng)包 
ROWTYPE_MISMATCH  宿主游標變量與 PL/SQL 游標變量的返回類型不兼容 
SELF_IS_NULL    使用對象類型時,在 null 對象上調(diào)用對象方法 
STORAGE_ERROR   運行 PL/SQL 時,超出內(nèi)存空間 
SYS_INVALID_ID    無效的 ROWID 字符串 
TIMEOUT_ON_RESOURCE  Oracle 在等待資源時超時

語法及示例:

1、存儲過程創(chuàng)建存儲過程的語法:

CREATE [OR REPLACE] PROCEDURE procedure_name[(parameter_list)]{IS|AS}[local_declarations]BEGINexecutable_statements[EXCEPTIONexception_handlers]END [procedure_name];

其中:procedure_name是過程的名稱。

parameter_list是參數(shù)列表。

local_declarations是局部聲明。

executable_statements是可執(zhí)行語句。

exception_handlers是異常處理程序。

示例1:

演示創(chuàng)建過程(參數(shù)列表中為IN參數(shù)賦予一個默認值,不能為OUT、IN OUT參數(shù)賦予默認值)

create or replace procedure find_emp(emp_no in number:=7900)asempname varchar2(20);beginselect ename into empname from emp where empno=emp_no;dbms_output.put_line('雇員姓名是 '||empname);exceptionwhen no_data_found thendbms_output.put_line('雇員編號未找到');end find_emp;

調(diào)用過程:

EXECUTE procudure_name(parameters_list);

也可以在過程里面調(diào)用,直接寫上procudure_name而不必寫EXECUTE。

示例2:演示創(chuàng)建帶OUT參數(shù)的過程

create or replace procedure test(value1 varchar2,value2 out number) is identity number; begin select sal into identity from emp where empno=value1; if identity2000 then value2:=1000; else value2:=500; end if; end;

調(diào)用帶OUT參數(shù)的過程:

declare value2 number; begin test('7900',value2); dbms_output.put_line(value2); end;

示例3:

演示創(chuàng)建帶IN OUT參數(shù)的過程

create or replace procedure swap(p1 in out number,p2 in out number) is v_temp number; begin v_temp:=p1; p1:=p2; p2:=v_temp; end;

調(diào)用帶IN OUT參數(shù)的過程:

declare num1 number:=100; num2 number:=200; begin swap(num1,num2); dbms_output.put_line('num1= '||num1); dbms_output.put_line('num2= '||num2); end;

示例4:將過程的執(zhí)行權(quán)限授予其他用戶

GRANT EXECUTE ON find_emp TO scott; GRANT EXECUTE ON swap TO PUBLIC; 

將find_emp過程的執(zhí)行權(quán)限授予給用戶scott,將執(zhí)行swap過程的權(quán)限授予所有數(shù)據(jù)庫用戶。

刪除過程語法:

DROP PROCEDURE procudure_name;

2、函數(shù) 定義函數(shù)的語法如下:

CREATE [OR REPLACE] FUNCTION function_name [(parameter_list)] RETURN datatype {IS|AS} [local_declarations] BEGIN executable_statements [EXCEPTION exception_handlers] END [function_name]; 

其中:function_name是函數(shù)的名稱。

parameter_list是參數(shù)列表。

local_declarations是局部聲明。

executable_statements是可執(zhí)行語句。

exception_handlers是異常處理程序。

使用函數(shù)時注意:形式參數(shù)必須只使用數(shù)據(jù)庫類型,不得使用PL/SQL類型。函數(shù)的返回類型也必須是數(shù)據(jù)庫類型。 函數(shù)不能單獨執(zhí)行,只能通過SQL語句或PL/SQL程序塊來調(diào)用。

示例5:

演示如何創(chuàng)建函數(shù)

create or replace function fun_hello return varchar2 is begin return '朋友,您好'; end; 

調(diào)用函數(shù):

select fun_hello from dual;

函數(shù)的授權(quán):同過和的授權(quán)一樣具體請看示例4。

刪除函數(shù):

DROP FUNCTION function_name

過程和函數(shù)的差異 過程 函數(shù) 作為PL/SQL語句執(zhí)行 作為表達式的一部分調(diào)用 在規(guī)范中不包含RETURN子句 必須在規(guī)范中包含RETURN子句 不返回任何值 必須返回單個值 可以包含RETURN語句,但是與函數(shù)不同,它不能用于返回值 必須包含至少一條RETURN語句

3、程序包 創(chuàng)建包規(guī)范的語法:

CREATE [OR REPLACE] PACKAGE package_name IS|AS [Public type and item declarations] [Subprogram specifications] END [package_name];

其中:package_name是包的名稱。

Public type and item declarations是聲明類型、常量、變量、異常和游標等。 Subprogram specifications聲明PL/SQL子程序。

示例6:

演示創(chuàng)建程序包規(guī)范

create or replace package pack_op is procedure pro_print_ename(id number); procedure pro_print_sal(id number); function fun_re_date(id number) return date; end;

創(chuàng)建包主體的語法:

CREATE [OR REPLACE] PACKAGE BODY package_name IS|AS [Public type and item declarations] [Subprogram bodies] [BEGIN Initialization_statements] END [package_name];

其中:package_name是包的名稱。

Public type and item declarations是聲明類型、常量、變量、異常和游標等。

Subprogram bodies是定義公共和私有PL/SQL子程序。

示例7:演示創(chuàng)建程序包主體

create or replace package body pack_op is procedure pro_print_ename(id number) is name emp.ename%type; begin select ename into name from emp where empno=id; dbms_output.put_line('職員姓名:'||name); end pro_print_ename; procedure pro_print_sal(id number) is salary emp.sal%type; begin select sal into salary from emp where empno=id; dbms_output.put_line('職員工資:'||salary); end pro_print_sal; function fun_re_date(id number) return date is bedate emp.hiredate%type; begin select hiredate into bedate from emp where empno=id; return bedate; end fun_re_date; end pack_op;

示例8:調(diào)用程序包中創(chuàng)建的過程和函數(shù)

exec pack_op.pro_print_ename(7900); exec pack_op.pro_print_sal(7900); select pack_op.fun_re_date(7900) from dual;

示例9:演示程序包中的游標 創(chuàng)建包規(guī)范

create or replace package pack_emp is cursor cur_emp return emp%rowtype; procedure pro_cur; end pack_emp;

創(chuàng)建包主體

create or replace package body pack_emp is cursor cur_emp return emp%rowtype is select * from emp; procedure pro_cur is rec_emp emp%rowtype; begin open cur_emp; loop fetch cur_emp into rec_emp; exit when cur_emp%notfound; if rec_emp.sal1000 then dbms_output.put_line('員工工資:'||rec_emp.sal||',需加倍努力爭取提高工資'); elsif rec_emp.sal>=1000 and rec_emp.sal2000 then dbms_output.put_line('員工工資:'||rec_emp.sal||',工資一般,爭取搞個部門經(jīng)理做做'); else dbms_output.put_line('員工工資:'||rec_emp.sal||',工資不錯,爭取搞個總經(jīng)理做做'); end if; end loop; end pro_cur; end pack_emp;

調(diào)用程序包中的過程以調(diào)用程序包中的游標

exec pack_emp.pro_cur;

示例10:存儲過程返回游標的子程序包(此程序包返回r_cur游標)

CREATE OR REPLACE package SCOTT.pk_wt is type mytype is ref cursor; procedure p_wt(mycs out mytype); end;
CREATE OR REPLACE package BODY SCOTT.pk_wt is procedure p_wt(mycs out mytype) is r_cur mytype; begin open r_cur for select * from emp; mycs:=r_cur; end p_wt; end pk_wt;

查詢有關(guān)過程、函數(shù)和程序包的信息:

USER_OBJECTS數(shù)據(jù)字典視圖 column object_name format a18 select object_name,object_type from user_objects where object_type in ('PROCEDURE','FUNCTION','PACKAGE','PACKAGE BODY');

以上所述是小編給大家介紹的Oracle Procedure知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • oracle中的procedure編寫和使用詳解
  • oracle中 procedure(存儲過程)和function(函數(shù))本質(zhì)區(qū)別

標簽:甘肅 開封 周口 固原 和田 青島 承德 武漢

巨人網(wǎng)絡(luò)通訊聲明:本文標題《全面解析Oracle Procedure 基本語法》,本文關(guān)鍵詞  全面,解析,Oracle,Procedure,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《全面解析Oracle Procedure 基本語法》相關(guān)的同類信息!
  • 本頁收集關(guān)于全面解析Oracle Procedure 基本語法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    午夜国产福利视频| 人妻无码久久一区二区三区免费| 久久er视频| 热re66久久精品国产99热| 自拍偷拍你懂的| 2021中文字幕在线| 顶级网黄在线播放| 香蕉久久一区二区不卡无毒影院| 国产精品成人免费观看| 午夜欧美大片免费观看| 成人午夜激情在线| 亚洲一区亚洲二区亚洲三区| 成人区人妻精品一区二| 亚洲啪av永久无码精品放毛片| 乱子伦视频在线看| 亚洲爱爱天堂| 99久久久久久中文字幕一区| 国产精品久久久久久影视| 女尊高h男高潮呻吟| 色多多视频网站| 日韩av在线中文字幕| 日韩精品在线中文字幕| 高清一区二区三区视频| 欧美成人精品三级在线观看| 日韩精品视频三区| 奇米一区二区三区av| 日皮视频在线观看| 黄色成人av网| 日韩av一区二区三区四区| a视频在线观看| 国产精品中文| 国产精品麻豆一区二区| 男人捅女人免费视频| 久久综合九色| 亚洲不卡在线| 999在线观看精品免费不卡网站| 中文字幕乱码人妻综合二区三区| 亚洲一区二区三区久久| 精品国产乱码一区二区三区四区| 91香蕉一区二区三区在线观看| 曰本一区二区三区视频| 九七影院97影院理论片久久| 欧美日韩电影一区| 色94色欧美sute亚洲线路一久| 亚洲欧美激情另类| 日日欢夜夜爽一区| 亚洲国模精品私拍| 午夜久久久久久| 粉嫩欧美一区二区三区高清影视| 综合色就爱涩涩涩综合婷婷| 99久久亚洲精品| 国产精品23p| 在线看黄网址| 免费裸体视频网站| 亚洲爱爱视频| 黄色亚洲网站| 91精品国产高潮对白| 亚洲黄色www网站| 亚洲一区二区三区av无码| 国产综合 伊人色| 91九色视频蝌蚪| 日日橹狠狠爱欧美超碰| 丰满少妇久久久久久久| 国产丝袜在线精品| 欧洲美女7788成人免费视频| 6080yy精品一区二区三区| 精品少妇人妻av免费久久洗澡| 天天射综合网站| 欧美日韩 一区二区三区| freexxxx性特大另类| 四虎成人在线观看| 亚洲第一福利网站| 国产wwwwwww| aaa一区二区三区| 91精品久久久久久久久久久| 欧美一区二区三区性视频| 女同视频在线观看| 国产亚洲美女精品久久久| 91在线精品一区二区| 久久久久久久久久久亚洲| 久久99国产精品久久99小说| 国产农村一级特黄α**毛片| 爱爱的免费视频| 最近中文字幕mv在线一区二区三区四区| 性高湖久久久久久久久| 免费在线看一区| 在线观看av一区| 成人亚洲精品| 国内精品久久久久久久果冻传媒| 免费黄视频网站| 天天摸天天碰天天添| 精品一区二区三区免费站| 国产精品第一页在线观看| www.99riav| 亚洲国产精品无码久久久| 黄色激情网站| 免费亚洲精品视频| 自拍视频一区二区三区| 国产一区二三区| 九色综合狠狠综合久久| 激情五月婷婷基地| 亲子伦视频一区二区三区| 日韩伦理片在线观看| 国产经典自拍视频在线观看| 久久精品国语| 99精品在免费线中文字幕网站一区| 精品午夜福利在线观看| 国产二区国产一区在线观看| 国产亚洲一卡2卡3卡4卡新区| 男人天堂av电影| 美女写真理伦片在线看| xxxwww在线观看| 精品久久久免费| 91视频com| 国产精品视频3p| 91视频观看| www.色精品| 91av成人在线| 一区精品在线观看| 最新国产精品久久精品| 国产精品亚洲一区二区三区妖精| 成人一级片网址| 亚洲国产婷婷香蕉久久久久久99| 少妇极品熟妇人妻无码| 国产精品美女久久久久久不卡| 小早川怜子久久精品中文字幕| 国产三级在线观看完整版| 亚洲美女毛片| 亚洲人精品午夜| 成人午夜剧场视频网站| 国产一区二区三区免费观看在线| 欧美变态口味重另类| 久久国产毛片| 欧美中文一区二区三区| 动漫av一区二区三区| 中文字幕亚洲综合久久筱田步美| 日韩精品123区| 亚洲自拍偷拍网站| 四虎成人精品| 欧美一区二区性放荡片| 亚洲色图美国十次| 成人午夜碰碰视频| 欧美成人精品1314www| 欧美寡妇偷汉性猛交| 中文字幕久久亚洲| 成人午夜黄色影院| 91免费观看网站| 亚洲av无码不卡| 久久9精品区-无套内射无码| 欧美日韩一级在线观看| 级毛片内射视频| 国产精品丝袜黑色高跟鞋| 老**午夜毛片一区二区三区| 日本亚洲自拍| 国产日韩一级二级三级| 国产精品中文久久久久久久| 中文字幕亚洲日本| 国产精品白丝久久av网站| 国产一区二区伦理片| 国产午夜免费视频| 欧美色播在线播放| 五月婷婷激情综合| 国产精品免费91| 97人人爽人人喊人人模波多| 欧美精品久久久久久久久| 香蕉视频一区二区三区| 91日韩精品一区| 中文字幕 欧美激情| 视频一区二区三区中文字幕| 欧美fxxxxxx另类| 91超碰在线免费| 国产精品久久久久久久久久齐齐| av在线com| 国产欧美不卡| 91麻豆精品国产自产在线观看一区| 国产高清免费在线观看| 中文字幕精品影院| 不卡的av电影在线观看| 天天天天天天操| 国产精品高清无码| 亚洲精品中文字幕成人片| 日本在线视频一区二区三区| 国产一区91精品张津瑜| 99久久精品国产一区二区三区| 亚洲精品一区久久久久久| 欧美国产禁国产网站cc| 亚洲av电影一区| 一区在线播放| 色综合咪咪久久网| 亚洲人成电影网站色| 免费黄色在线观看| 影音先锋中文字幕一区| 亚洲狠狠婷婷综合久久久久图片| 天使萌一区二区三区免费观看| 久久综合国产| 三级黄色片在线观看| av丝袜天堂网| 午夜精品久久久久久久无码| 99中文字幕在线观看| 精品乱子伦一区二区三区| 97人人模人人爽人人少妇| 久久免费高清视频| av在线播放天堂| 91精品国产麻豆国产自产在线| 中文字幕视频在线免费| av高清不卡在线| 中文字幕资源站| 亚洲国产精品久久久久秋霞影院| 另类欧美视频| 不卡精品视频| 亚洲欧美偷拍另类a∨色屁股| 国产精品亚洲综合久久小说| 99热自拍偷拍| 超碰97在线播放| 亚洲最好看的视频| 免费黄网大全| 成人午夜免费av| 国产精品揄拍一区二区| 亚洲欧洲精品一区| 国内精品伊人久久久久av一坑| 欧美日韩综合在线免费观看| 亚洲一区制服诱惑| 黄色在线观看免费| 国产精品久久久久影院| 久久久久久免费| 99久久精品国产毛片| 色老头在线视频| 婷婷国产成人久久精品激情| 蜜臀久久精品久久久久| 成人一级福利| 久久精品免费在线观看| 黄动漫在线免费观看| 欧美视频网站| 天堂中文在线免费观看| 91蜜桃婷婷狠狠久久综合9色| 国产精品久久久久一区二区三区| 日韩黄色一级视频| 亚洲一区二区三区四区的| 成人丝袜视频网| 欧美精品18videos性欧| 亚洲欧美影院| 亚洲免费观看在线观看| 在线精品视频播放| 国产91露脸中文字幕在线| 99精品国产91久久久久久| 91精品国产综合久久精品性色| 久久精品欧美一区二区| av大全在线免费看| 91视频-88av| 日韩高清在线一区| 一本大道av一区二区在线播放| y111111国产精品久久婷婷| 欧美成人第一区| 牲欧美videos精品| 国产女优在线播放| 免费在线观看h片| 国产精品自产拍在线观看| 欧美色123| 青青草原成人在线视频| 国产最新视频在线| 高清国产福利在线观看| 91看片破解版| 欧美精品三级在线观看| 日本成年免费网站| 日本美女bbw| 婷婷丁香在线| 国产亚洲精品精品精品| 一本色道久久精品| 九色国产蝌蚪视频| 日本午夜视频在线观看| 可以免费看av的网址| 免费在线视频你懂得| 久久精品亚洲牛牛影视| 久久福利资源站| 久久国产激情视频| 精品盗摄女厕tp美女嘘嘘| 天天草天天爽| 成人嘿咻视频免费看| 亚洲日韩第一页| 国产麻豆视频在线观看| 亚洲欧美va天堂人熟伦| 国产精品一区二区在线观看| 日韩国产精品视频| 性爱视频日本| 17c丨国产丨精品视频| 欧美日韩国产精品成人| 国产精品高清无码在线观看| 日韩一区二区三区四区视频| 国产精品成人一区二区| 国产一级二级三级在线观看| 狠狠色狠狠色综合人人| 久久在线免费观看视频| 欧美精品videosex极品1| 欧美一级淫片videoshd| 久久精品成人av| 日本wwwcom| 欧美精品一区二区在线观看| 日本一区二区在线视频观看| 国产人与zoxxxx另类91| 日日摸夜夜爽人人添| 天天干人人干| 欧美另类专区| 国产午夜精品久久久久久久| 蜜桃视频网站在线| 国产伦精品一区二区三区视频金莲| 日韩免费成人| 国模无码国产精品视频| 中文字幕第24页| 99热久久这里只有精品| 久草在线资源福利站| 91视频 -- 69xx| 国产麻豆9l精品三级站| 日日碰狠狠添天天爽超碰97| 国产精品视频yy9099| 国产亚洲色婷婷久久99精品| 午夜av免费看| 中文国产在线观看| 美女免费黄色| 欧美日韩国产91| 亚洲欧美另类中文字幕| 99热这里只有精品2| 欧美四级电影网| 日韩精品一区二区av| 一区在线视频| 亚洲国产精品一区二区www| 精品99999| 高h调教冰块play男男双性文| 欧美成人精品福利网站|