锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品亚洲日本佐佐木明希,亚洲人成网站看在线播放,亚洲性色AV日韩在线观看 http://m.tkk7.com/lanxin1020/category/38975.htmlzh-cnMon, 13 Apr 2009 05:30:16 GMTMon, 13 Apr 2009 05:30:16 GMT60sql(杞?http://m.tkk7.com/lanxin1020/archive/2009/04/13/265236.htmllanxin1020lanxin1020Mon, 13 Apr 2009 02:40:00 GMThttp://m.tkk7.com/lanxin1020/archive/2009/04/13/265236.htmlhttp://m.tkk7.com/lanxin1020/comments/265236.htmlhttp://m.tkk7.com/lanxin1020/archive/2009/04/13/265236.html#Feedback0http://m.tkk7.com/lanxin1020/comments/commentRss/265236.htmlhttp://m.tkk7.com/lanxin1020/services/trackbacks/265236.html
--DML--Data Manipulation Language--鏁版嵁鎿嶄綔璇█

query information (SELECT),
add new rows (INSERT),
modify existing rows (UPDATE),
delete existing rows (DELETE),
perform a conditional update or insert operation (MERGE),
see an execution plan of SQL (EXPLAIN PLAN),
and lock a table to restrict access (LOCK TABLE).

--DDL--Data Definition Language--鏁版嵁瀹氫箟璇█
create, modify,drop, or rename objects (CREATE,ALTER,DROP,RENAME),
remove all rows from a database object without dropping the structure (TRUNCATE),
manage access privileges (GRANT,REVOKE),
audit database use (AUDIT,NOAUDIT)
and add a description about an object to the dictionary (COMMENT).

--Transaction Control浜嬪姟鎺у埗璇彞
save the changes(COMMIT)
or discard the changes (ROLLBACK) made by DML statements.
Also included in the transaction-control statements are statements to set a point or marker in the transaction for possible rollback (SAVEPOINT)
and to define the properties for the transaction (SET TRANSACTION).
Used to manage the properties of the database.
There isonly one statement in this category (ALTER SYSTEM).

--DCL--Data Control Language--涓庡紑鍙戝叧緋諱笉鏄緢瀵嗗垏,鐢ㄤ簬鏉冮檺鐨勫垎閰嶄笌鍥炴敹
grant,revoke,data control

--Session Control
control the session properties (ALTER SESSION)
and to enable/disable roles (SET ROLE).

--System Control


--------------------------------------------------------
select鐨勭敤娉?

--姣忎釜鍛樺伐鐨勬墍鏈変俊鎭?
select * from emp
--姣忎釜浜虹殑閮ㄩ棬緙栧彿錛屽鍚嶏紝钖按
select deptno,ename,sal from emp;
--姣忎釜浜虹殑騫磋柂
select ename,sal*12 from emp;
--璁$畻2*3鐨勫?
select 2*3 from emp;
--璁$畻2*3鐨勫?dual)
select 2*3 from dual;
select * from dual;
--寰楀埌褰撳墠鏃墮棿
select sysdate from dual
--鍙互緇欏垪璧峰埆鍚?姣斿姹傛瘡涓漢鐨勫勾钖?
select ename,sal*12  salperyear from emp;
--濡傛灉鍒悕涓湁絀烘牸錛岄渶瑕佺敤鍙屽紩鍙?
select ename,sal*12  "sal per year" from emp;
--濡傛灉娌℃湁鍐呭錛屽垯涓虹┖
select comm from emp;
--褰撶┖瀛楁鍙備笌璁$畻錛屽垯緇撴灉鏄痭ull
--渚嬪錛氳綆楁瘡涓漢鐨勫叏騫寸殑鏀跺叆鍖呮嫭鏈堣柂鍜屽勾緇堝
select ename,sal*12+comm from emp;
--鍙互灝嗗涓瓧絎︿覆鎷煎湪涓璧楓傛瘮濡傦細姹傛瘡涓漢鐨勮柂姘達紝鏍煎紡涓簊mith-sal-123
select ename||'-sal-'||sal from emp;
--濡傛灉瀛楃涓蹭腑鏈夊崟寮曞彿錛岄渶瑕佺敤鍙﹀涓涓崟寮曞彿杞箟錛屾瘮濡傦細榪欐牱涓涓瓧絎︿覆錛?he's friend
select ename||'''s sal is'||sal from emp;


--------------------------------------------------------
--distinct 鍏抽敭璇嶇殑鐢ㄦ硶
--姹傛湁鍝簺涓儴闂?
select distinct deptno from emp
--鍙互鐢ㄦ潵淇グ澶氫釜瀛楁銆傛瘮濡傦細姹傛湁鍝簺涓儴闂ㄥ拰job鐨勭粍鍚?
select distinct deptno,job from emp

--------------------------------------------------------
where鍏抽敭璇嶇殑鐢ㄦ硶
--鍙互鏄暟鍊肩被鍨嬬殑絳夊煎垽鏂傛瘮濡傦細姹?0榪欎釜閮ㄩ棬鐨勬墍鏈夊憳宸?
select * from emp where deptno=20
--鍙互鏄瓧絎︿覆綾誨瀷鐨勭瓑鍊煎垽鏂傛瘮濡傦細姹傚彨KING鐨勮繖涓漢鐨勪俊鎭?
select * from emp where ename = 'KING'
--涔熷彲浠ユ槸涓嶇瓑鍊煎垽鏂傛瘮濡傦細姹傝柂姘村皬浜?000鐨勫憳宸ヤ俊鎭?
select * from emp where sal<2000;
--瀛楃涓蹭篃鍙互鍋氫笉絳夊煎垽鏂紝姣斿錛氭眰鎵鏈塭name澶т簬'CBA'鐨勫憳宸ヤ俊鎭?
select * from emp where ename>'CBA';
--姹傞儴闂ㄤ笉鏄?0鐨勫憳宸?
select * from emp where deptno <> 10;
--姹傝柂姘村湪800鍜?500涔嬮棿鐨勫憳宸ヤ俊鎭?
select * from emp where sal >=800 and sal <=1500;
--涔熷彲浠ュ啓鎴?
select * from emp where sal between 800 and 1500
--榪欐牱鍐欏垯涓嶅彲浠?
-----------------------------select * from emp where 800<=sal<=1500
--where...in..鐨勭敤娉曘傛瘮濡傦細姹傝柂姘存槸800鎴栬?500鎴栨2000鐨勫憳宸ヤ俊鎭?
select * from emp where sal=800 or sal=1500 or sal=2000
--鐩稿綋浜庡啓鎴愯繖鏍?
select * from emp where sal in(1500,800,2000,1500,1500,1500,1500);
--鍐嶆瘮濡傛眰濮撳悕鏄疜ING,SMITH,AA鐨勫憳宸ヤ俊鎭?
select * from emp where ename in ('KING','SMITH','AA')
--姹傚叆鑱屾椂闂村湪20-2鏈?81涔嬪悗鐨勫憳宸ヤ俊鎭?
select * from emp where hiredate < '23-5鏈?-87';

--------------------------------------------------------
--and or not鐨勭敤娉?
--姹傝柂姘村ぇ浜?000鎴栬呴儴闂ㄥ湪20榪欎釜閮ㄩ棬鐨勫憳宸ヤ俊鎭?
select * from emp where sal>1000 and deptno=20
--姹傝柂姘翠笉鏄?00鎴栬呬笉鏄?500鎴栬呬笉鏄?000鐨勫憳宸ヤ俊鎭?
select * from emp where sal not in (800,1500,3000)
--涔熷彲浠ヨ繖鏍鋒潵鍐?
select * from emp where sal <>800 and sal <> 1500 and sal<>3000

--------------------------------------------------------
--like鐨勭敤娉?
--姹傚悕瀛椾腑鍖呭惈ALL榪欎笁涓瓧絎︾殑鍛樺伐淇℃伅
select * from emp where ename like '%E%';
--姹傚悕瀛椾腑鐨勭浜屼釜瀛楁瘝鏄疉鐨勫憳宸?
select * from emp where ename like '_A%';
--鐗規畩瀛楃闇瑕佽漿涔夈傛瘮濡傦細姹傚憳宸ヤ腑鍖呭惈鐗規畩瀛楃%鐨勫憳宸ヤ俊鎭?
select * from emp where ename like '%\%%' escape '\'

--------------------------------------------------------
--null鐨勭敤娉?
--姹傛病鏈夊勾緇堝鐨勫憳宸?
select * from emp where comm is null
--姹傛湁騫寸粓濂栫殑鍛樺伐
select * from emp where comm is not null


--------------------------------------------------------
--order by鐨勭敤娉?
--鍛樺伐淇℃伅鎸夌収濮撳悕姝e簭鎺掑垪
select * from emp order by ename asc;
--鍛樺伐淇℃伅鎸夌収鍊掑彊鎺掑垪
select * from emp order by ename desc;
--涔熷彲浠ユ槸澶氫釜瀛楁緇勫悎鎺掑垪銆備緥濡傦細鍛樺伐淇℃伅鎸夌収閮ㄩ棬姝e簭鎺掑垪錛屽茍涓旀寜鐓у鍚嶅掑彊鎺掑垪
select * from emp order by deptno asc,ename desc

--------------------------------------------------------
--function鐨勭敤娉?
--鎶婃墍鏈夊鍚嶅彉鎴愬皬鍐?
select lower(ename) from emp;
--鎶婃墍鏈夊鍚嶅彉鎴愬ぇ鍐?
select upper(ename) from emp;
--姹傛墍鏈変漢鍚嶄腑鍖呭惈'a'鐨勫憳宸ヤ俊鎭笉鍖哄垎澶у皬鍐?
select * from emp where lower(ename) like '%a%'
--鎴彇瀛愬瓧絎︿覆錛屾瘮濡傛眰Hello鐨勪竴閮ㄥ垎
select substr('hello',2,2) from dual;
select substr(ename,2,2) from emp;
--姹侶ello鐨勪竴閮ㄥ垎錛屽茍鎸囨槑闀垮害

--姹俛scii鐮佸搴旂殑瀛楃
select chr(65) from dual
--姹傚瓧絎﹀搴旂殑ascii鐮?
select ascii('涓?)from dual
--鍥涜垗浜斿叆
select round(12.456,2) from dual
select round(12.456,-1) from dual
--鍥涜垗浜斿叆灝忔暟鐐瑰悗闈㈠灝戜綅

--鍥涜垗浜斿叆灝忔暟鐐瑰墠闈㈠灝戜綅


--------------------------------------------------------
--important!鏃ユ湡杞崲鍑芥暟
--------------------------------------------------------
--灝嗗綋鍓嶆棩鏈熻漿鎹㈡垚1981-03-12 12:00:00榪欑褰㈠紡鐨勫瓧絎︿覆
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

--灝?981-03-12 12:00:00瀛楃涓茶漿鎹㈡垚鏃ユ湡
select to_date('1981-03-12 12:00:00','YYYY-MM-DD HH24:MI:SS') from dual;

--灝嗘瘡涓漢鐨勮柂姘磋漿鎹㈡垚鍥哄畾鏍煎紡鐨勫瓧絎︿覆
select to_char(sal,'$999,999,999.99') from emp;
--灝嗗浐瀹氭牸寮忕殑瀛楃涓茶漿鎹㈡垚鏁板?
select to_number('$8,000.00','$999,999,999.99') from dual;

--褰搉ull鍙備笌璁$畻鏃跺欙紝鍙互鐢╪vl榪欎釜鍑芥暟銆傛瘮濡傛眰姣忎釜浜轟竴騫存誨叡鐨勬敹鍏?
select ename,sal*12+comm from emp

--------------------------------------------------------
--group function緇勫嚱鏁?
--姹傛墍鏈変漢鐨勮柂姘寸殑鎬誨拰錛屽鉤鍧囧鹼紝鏈澶у鹼紝鏈灝忓?
select sum(sal),avg(sal),max(sal) ,min(sal) from emp;
--姹傛葷殑琛屾暟
select count(*) from emp;
--姹傛葷殑琛屾爲錛岋紙鍙互鎸囧畾鍏蜂綋鐨勫瓧孌碉級浣嗗鏋滃瓧孌墊湁null鍊肩殑鏃跺欓渶瑕佸皬蹇冧嬌鐢?
select count(comm) from emp;

--涔熷彲浠ヨ繃婊ゆ帀閲嶅鐨勮涔嬪悗緇熻琛屾暟

select count(distinct deptno) from emp
--鍙互鎸囨槑鎸夌収鍝釜瀛楁榪涜鍒嗙粍.姣斿錛涘垎閮ㄩ棬緇熻鏈楂樿柂姘?
select deptno,max(sal) from emp where deptno is not null group by deptno
--涔熷彲浠ユ寜鐓у涓瓧孌墊潵鍒嗙粍緇熻錛屾瘮濡傦細鍒嗛儴闂ㄥ拰宀椾綅錛岀粺璁℃渶楂樿柂姘村拰琛屾暟
select deptno,job,max(sal),count(*) from emp group by deptno,job

--------------------------------------------------------
--閲嶈錛氬嚭鐜板湪select鍒楄〃涓殑瀛楁錛屽鏋滄病鏈夊湪緇勫嚱鏁頒腑錛岄偅涔堝繀欏誨嚭鐜板湪group by 瀛愬彞涓?
--------------------------------------------------------
select ename,deptno,job,max(sal),count(*) from emp group by deptno,job

--姹傝柂姘存渶楂樼殑鍛樺伐濮撳悕
select * from emp where sal=(select max(sal) from emp);
delete from emp where ename='TEST2'
update emp set deptno=10 where deptno=99
select * from dept
insert into dept (deptno,dname,loc) values('10','ACCOUNTING','NEW YORK');
--having浠庡彞鐨勭敤娉?
--姹傚鉤鍧囪柂姘存槸2000浠ヤ笂鐨勯儴闂?
select deptno,avg(sal) as avg_sal from emp group by deptno
having avg(sal) >2000
--------------------------------------------------------
--鎬葷粨涓涓媠elect璇硶
select
from
where
group by
having
order by
--------------------------------------------------------
-- 鎵ц欏哄簭very important!
-- 棣栧厛鎵цwhere璇彞灝嗗師鏈夎褰曡繃婊わ紱
-- 絎簩鎵цgroup by 榪涜鍒嗙粍錛?
-- 絎笁鎵цhaving榪囨護鍒嗙粍錛?
-- 鐒跺悗灝唖elect 涓殑瀛楁鍊奸夊嚭鏉ワ紱
-- 鏈鍚庢墽琛宱rder by 榪涜鎺掑簭錛?

--------------------------------------------------------
/*
鎸夌収閮ㄩ棬鍒嗙粍緇熻錛屾眰鏈楂樿柂姘達紝騫沖潎钖按
鍙湁钖按鏄?200浠ヤ笂鐨勬墠鍙備笌緇熻
騫朵笖鍒嗙粍緇撴灉涓彧鍖呮嫭騫沖潎钖按鍦?500浠ヤ笂鐨勯儴闂?
鑰屼笖鎸夌収騫沖潎钖按鍊掑彊鎺掑垪
*/
select max(sal),avg(sal) from emp
where sal>1200
group by deptno
having avg(sal) >1500
order by avg(sal) desc

--------------------------------------------------------
/*
鎶婇泧鍛樻寜閮ㄩ棬鍒嗙粍錛?
姹傛渶楂樿柂姘達紝 閮ㄩ棬鍙鳳紝
榪囨護鎺夊悕瀛椾腑絎簩涓瓧姣嶆槸'A'鐨勶紝
瑕佹眰鍒嗙粍鍚庣殑騫沖潎钖按>1500錛?
鎸夌収閮ㄩ棬緙栧彿鍊掑簭鎺掑垪
*/
select max(sal) ,deptno from emp where ename not like '_A%'group by deptno
having avg(sal) >1500
order by deptno desc

/* very very important! */
select ename, deptno from emp;
select deptno, dname from dept;
--------------------------------------------------------------------------------------
--鑰佽娉曪細----------------------------------------------------------------------------
--------------------------------------------------------------------------------------
--絳夊艱繛鎺ワ細姹傚憳宸ュ鍚嶄互鍙婂憳宸ユ墍鍦ㄩ儴闂ㄧ殑鍚嶅瓧鍚屾椂鏄劇ず鍑烘潵
select ename,emp.deptno,dname,dept.deptno from emp,dept
where emp.deptno = dept.deptno

select ename,e.deptno,dname,d.deptno from emp e,dept d
where e.deptno = d.deptno

--闈炵瓑鍊艱繛鎺ワ細瑕佹眰姣忎綅闆囧憳鐨勮柂姘寸瓑綰?
select * from salgrade
select ename,sal,grade,losal,hisal from emp,salgrade
where sal >=losal and sal <=hisal
--璺?涓〃錛氭眰宸ヤ綔鑱屼綅鏄?#8217;PRESIDENT’鐨勯泧鍛樺鍚嶏紝閮ㄩ棬鍚嶇О鍜岃柂姘寸瓑綰ф椂
select ename,dname,grade from emp,dept,salgrade
where emp.deptno = dept.deptno
and sal >=losal and sal <=hisal
and job ='PRESIDENT'


--涔熷彲浠ュ悓涓涓〃鍋氳法琛ㄨ繛鎺ワ細姹傛瘡浣嶅憳宸ョ殑濮撳悕錛屽強鍏朵笂綰х粡鐞嗙殑濮撳悕

select e1.ename,e2.ename from emp e1,emp e2
where e1.mgr = e2.empno

--------------------------------------------------------------------------------------
--鏂拌娉?-----------------------------------------------------------------------------
--鍦⊿QL1992鐨勮娉曡鍒欎腑錛岃鍙ヨ繃婊ょ殑鏉′歡鍜岃〃榪炴帴鐨勬潯浠墮兘琚斁鍦ㄤ簡where瀛愬彞涓紝褰撴潯浠惰繃澶氭椂錛屽鏄撻犳垚娣鋒穯錛?
--SQL1999淇浜嗚繖涓己鐐癸紝灝嗚繛鎺ユ潯浠跺拰鏁版嵁榪囨護鏉′歡鍖哄垎寮鏉ワ紝
--------------------------------------------------------------------------------------

--浜ゅ弶榪炴帴
--緇撴灉浼氫駭鐢熻繖涓ゅ紶琛ㄧ殑絎涘崱灝斾箻縐?

select * from emp cross join dept
--瑕佺敤deptno浣滀負絳夊艱繛鎺ユ潯浠訛紝鎴戜滑鍙互榪欐牱鍐?
select * from emp join dept using (deptno)
select ename, dname from emp join dept using(deptno);
--鐩稿綋浜?
select ename, dname from emp join dept on emp.deptno = dept.deptno
--涔熷彲浠ュ啓鎴愯繖鏍?


--涔熷彲浠ョ敤浜庨潪絳夊艱繛鎺?
--姹傛瘡浣嶉泧鍛樼殑钖按絳夌駭
select * from emp join salgrade on (sal >=losal and sal<= hisal)


--澶氫釜join,where緇勫悎浣跨敤
--(姹傚伐浣滆亴浣嶆槸’PRESIDENT’鐨勯泧鍛樺鍚嶏紝閮ㄩ棬鍚嶇О鍜岃柂姘寸瓑綰ф椂)

select * from emp join dept on emp.deptno = dept.deptno
join salgrade on (sal >=losal and sal<= hisal)
where job = 'PRESIDENT'


--澶栬繛鎺?-鍙栧嚭琛ㄤ腑榪炴帴涓嶅埌涓璧風殑澶氫綑鐨勬暟鎹?
--娌℃湁鍏ㄥ唴榪炴帴錛屾病鏈夊彸鍐呰繛鎺?

--鍏朵腑outer涔熷彲浠ョ渷鐣ワ紝綆鍐欎負left join , right join , full join
--left inner join鍙互緙╁啓鎴恑nner join 涔熷彲浠ョ緝鍐欐垚join錛屾剰鎬濇槸宸﹀唴銆?
--update emp set deptno=20 where ename='SMITH';
--commit;
select * from emp;
select * from dept;
delete from dept where deptno=99;
--宸﹀唴,浠庡乏寰鍙蟲壘錛屽尮閰嶄笉涓婄殑璁板綍涓嶆樉紺?
select ename,emp.deptno from emp  join dept on emp.deptno = dept.deptno;
select ename,emp.deptno from emp  inner join dept on emp.deptno = dept.deptno;
--娌℃湁榪欑璇硶錛歴elect ename,emp.deptno from emp  left inner join dept on emp.deptno = dept.deptno;
--宸﹀榪炴帴,浠庡乏寰鍙蟲壘錛屽尮閰嶄笉涓婄殑璁板綍涔熸樉紺轟竴琛?
select ename,dept.deptno from emp left /*outer*/ join dept on emp.deptno = dept.deptno;

--鍙沖榪炴帴錛屼粠鍙沖線宸︽壘錛屽尮閰嶄笉涓婄殑璁板綍錛屼篃鏄劇ず涓琛?
select ename,dept.deptno from emp right /*outer*/ join dept on emp.deptno = dept.deptno;
--娌℃湁鍙沖唴榪炴帴錛歴elect ename,dept.deptno from emp right inner join dept on emp.deptno = dept.deptno;

--鍏ㄥ榪炴帴
select ename,dept.deptno from emp full /*outer*/ join dept on emp.deptno = dept.deptno;

--宸﹀,鍙沖鐨勫尯鍒?






--浠涔堟椂鍊欑敤澶栬繛鎺ュ憿?姣斿棰嗗鍚戜綘瑕佹墍鏈夊鐢熺殑鍒楄〃,欏轟究鎶婃墍灞炵殑鐝駭涔熷垪鍑烘潵,灝遍渶瑕佸榪炴帴

--鍦╓here璇彞涓嬌鐢ㄥ瓙鏌ヨ
-----------------------------------------------------------------
--闆囧憳涓渶楂樿柂姘寸殑浜哄憳鍚嶇О
--1,鍏堟眰鍑烘渶楂樿柂姘?
--2,鍐嶆眰闆囧憳涓渶楂樿柂姘寸殑浜哄憳鍚嶇О
select ename from emp where sal=(select max(sal) from emp)



--鏈夊摢浜涗漢鐨勮柂姘存槸鍦ㄦ暣涓泧鍛樼殑騫沖潎钖按涔嬩笂鐨?
select ename,sal from emp where sal >(select avg(sal) from emp)

-----------------------------------------------------------------
--闆囧憳涓摢浜涗漢鏄粡鐞嗕漢
--1,棣栧厛鏌ヨmgr涓湁鍝簺鍙風爜
--2,鍐嶇湅鏈夊摢浜涗漢鍛樼殑鍙風爜鍦ㄦ鍑虹幇
select distinct mgr from emp where mgr is not null order by mgr

select ename
  from emp
where empno in (select distinct mgr from emp where mgr is not null )
--where in 涓笉璁╁啓orderby
select ename
  from emp
where empno in (select distinct mgr from emp where mgr is not null order by mgr)

-----------------------------------------------------------------
--鍦‵rom瀛愬彞涓嬌鐢ㄥ瓙鏌ヨ
------------------------------------------------------------------

--閮ㄩ棬騫沖潎钖按鐨勭瓑綰?
--1,棣栧厛灝嗘瘡涓儴闂ㄧ殑騫沖潎钖按姹傚嚭鏉?
--2,鐒跺悗鎶婄粨鏋滃綋鎴愪竴寮犺〃錛屽啀鐢ㄨ繖寮犵粨鏋滆〃鍜宻algrade琛ㄥ仛榪炴帴錛屼互姝ゆ眰寰楄柂姘寸瓑綰?
select deptno,avg(sal) from emp group by deptno
select * from (select deptno,avg(sal) avg_sal from emp group by deptno) t join salgrade
on avg_sal between losal and hisal;


-----------------------------------------------------------------
--姣忎釜閮ㄩ棬鏈楂樿柂姘寸殑浜哄憳鍚嶇О
--1,棣栧厛灝嗘瘡涓儴闂ㄧ殑鏈楂樿柂姘存眰鍑烘潵
--2,鐒跺悗鎶婄粨鏋滃綋鎴愪竴寮犺〃錛屽啀鐢╡mp鍜岃繖寮犵粨鏋滆〃鍋氳繛鎺ワ紝浠ユ姹傚緱姣忎釜閮ㄩ棬鏈楂樿柂姘寸殑浜哄憳鍚嶇О

select deptno,max(sal) from emp where deptno is not null group by deptno

select ename from emp e join
(select deptno,max(sal) max_sal from emp where deptno is not null group by deptno ) t
on sal = max_sal and e.deptno = t.deptno

-----------------------------------------------------------------
--鍝簺浜虹殑钖按鍦ㄩ儴闂ㄧ殑騫沖潎钖按涔嬩笂
--1,棣栧厛灝嗘瘡涓儴闂ㄧ殑騫沖潎钖按姹傚嚭鏉?
--2,鐒跺悗鎶婄粨鏋滃綋鎴愪竴寮犺〃錛屽啀鐢╡mp鍜岃繖寮犵粨鏋滆〃鍋氳繛鎺ワ紝浠ユ姹傚緱鍝簺浜虹殑钖按鍦ㄩ儴闂ㄧ殑騫沖潎钖按涔嬩笂
select deptno,avg(sal) avg_sal from emp group by deptno

select * from emp join (select deptno,avg(sal) avg_sal from emp group by deptno)t
on (sal>avg_sal and emp.deptno=t.deptno)
-----------------------------------------------------------------
--姹傞儴闂ㄤ腑(鎵鏈変漢鐨?騫沖潎鐨勮柂姘寸瓑綰?褰㈠紡濡傦細
--  deptno  avg_grade
--  10      3.67
--  20      2.8
--  30      2.5
--1,鍏堟眰姣忎釜浜虹殑钖按絳夌駭
--2,鍐嶆寜鐓ч儴闂ㄥ垎緇?姹傚鉤鍧囨暟
select deptno,sal,grade from emp join salgrade on sal between losal and hisal
select deptno,avg(grade) from (select deptno,sal,grade from emp join salgrade on sal between losal and hisal)t group by deptno




------------------------------------------------------------------------------------------
--浣跨敤浼瓧孌?rownum錛?---------------------
------------------------------------------------------------------------------------------
--鐢ㄦ潵鏍囪瘑姣忔潯璁板綍鐨勮鍙鳳紝琛屽彿浠?寮濮嬶紝姣忔閫掑1
select rownum,emp.* from emp;
--oracle涓媟ownum鍙兘浣跨敤 < <=錛?涓嶈兘浣跨敤 = > >= 絳夋瘮杈冩搷浣滅錛?
select rownum,emp.* from emp where rownum<5;
--褰搑ownum鍜宱rder by 涓璧蜂嬌鐢ㄦ椂錛屼細棣栧厛閫夊嚭絎﹀悎rownum鏉′歡鐨勮褰曪紝鐒跺悗鍐嶆帓搴?
--(閿欒鐨勫啓娉?渚嬪錛屽綋鎴戜滑瑕佹眰钖按鏈楂樼殑鍓?涓漢鏃訛紝鏈鐩存帴鐨勬兂娉曞彲浠ヨ繖鏍峰啓錛?
select * from emp where rownum<5 order by sal desc
--(姝g‘鐨勫啓娉?鍙互榪欐牱鍐?

select * from
(select * from emp order by sal desc) t
where rownum<=5




--------------------------------------------------------
--涓嶅噯鐢ㄧ粍鍑芥暟(鍗矼AX()),姹傝柂姘寸殑鏈楂樺?闈㈣瘯棰?
--絎竴縐嶈В鍐沖姙娉?
--1,鍏堟妸鎵鏈夎柂姘存寜鐓у掑簭鎺掑垪
--2,鍐嶅彇絎竴琛?
select * from
(select sal from emp order by sal desc) t
where rownum=1



--絎簩縐嶈В鍐沖姙娉?
--1,鍏堣法琛ㄦ煡璇㈣嚜宸?鍏堟眰鍑虹殑緇撴灉涓?e1.sal涓嶅彲鑳藉嚭鐜版渶澶ф暟
--2,鐒跺悗鍐峮ot in
select e2.sal from emp e1,emp e2 where e1.sal>e2.sal
select sal from emp where sal not in(select e2.sal from emp e1,emp e2 where e1.sal>e2.sal)


-----------------------------------------------------------------
--姹傚鉤鍧囪柂姘存渶楂樼殑閮ㄩ棬鐨勯儴闂ㄧ紪鍙?
--絎竴縐嶈В鍐沖姙娉?
--1,鍏堟眰鍑烘瘡涓儴闂ㄧ殑騫沖潎钖按,
select deptno,avg(sal) avg_sal from emp group by deptno
--2,鍐嶆眰姣忎釜閮ㄩ棬鐨勫鉤鍧囪柂姘寸殑鏈楂樺?
select max(avg_sal) from (1111111111111111111111111)
--3,鏈鍚庡啀姹傜涓姝ョ粨鏋滀腑avg_sal = 鏈楂樿柂姘寸殑璁板綍.

select deptno from (111111111111) where avg_sal = (22222222)


select deptno
  from (select deptno,avg(sal) avg_sal from emp group by deptno)
where avg_sal =
       (select max(avg_sal)
          from (select deptno,avg(sal) avg_sal from emp group by deptno))


--娌℃硶鑰冭檻騫跺垪絎竴鐨勬儏鍐?
select deptno from
(select deptno,avg(sal) avg_sal from emp group by deptno order by avg(sal) desc)
where rownum<=1


--絎簩縐嶈В鍐沖姙娉?
--1,灝嗕笂闈㈢殑絎竴姝ョ浜屾鍚堝茍,鍏堟眰鏈楂樺鉤鍧囪柂姘?鐢╩ax(avg(sal))鐨勫姙娉?
--涓嶈兘鍐欐垚select deptno,max(avg(sal)) from emp group by deptno
select max(avg(sal)) from emp group by deptno
--2,姹傚嚭姣忎釜閮ㄩ棬鐨勫鉤鍧囪柂姘?
select deptno,avg(sal) avg_sal from emp group by deptno
--3,鏈鍚庡啀姹傜浜屾緇撴灉涓?鍗蟲瘡涓儴闂ㄧ殑騫沖潎钖按),avg_sal = (絎竴姝ョ粨鏋?鐨勮褰?鍗砤vg_sal =鏈楂樿柂姘寸殑璁板綍.
select deptno from (select deptno,avg(sal) avg_sal from emp group by deptno)
where avg_sal =(select max(avg(sal)) from emp group by deptno)


--絎笁縐嶈В鍐沖姙娉?
--1,鍏堟眰鍑烘瘡涓儴闂ㄧ殑騫沖潎钖按,
select avg(sal) avg_sal from emp group by deptno
--2,姹傛渶楂樺鉤鍧囪柂姘?鐢╩ax(avg(sal))鐨勫姙娉?
select max(avg(sal)) from emp group by deptno
--3,鍐嶄嬌鐢╤aving璇彞, avg(sal) = 絎簩姝ョ殑緇撴灉
娉ㄦ剰錛氫負緇勫嚱鏁拌搗鐨勫埆鍚嶅湪having涓笉鑳界敤

select deptno from emp group by deptno
having avg(sal) = (select max(avg(sal)) from emp group by deptno)



-----------------------------------------------------------------
--姹傚鉤鍧囪柂姘存渶楂樼殑閮ㄩ棬鐨勯儴闂ㄥ悕縐?
--1,閮ㄩ棬騫沖潎鏈楂樿柂姘?
--2,寰楀埌閮ㄩ棬緙栧彿鍒楄〃,娉ㄦ剰鐢╣roup by deptno
--3,鍐嶅簲鐢╤aving瀛愬彞, having avg(sal) = (絎竴姝ョ殑緇撴灉)
--4,寰楀埌騫沖潎鏈楂樿柂姘寸殑閭d釜閮ㄩ棬鐨勭紪鍙?
--5,鍐嶅緱鍒伴儴闂ㄥ悕縐?



select dname from dept where deptno in

(
select deptno
  from (select deptno,avg(sal) avg_sal from emp group by deptno)
where avg_sal =
       (select max(avg_sal)
          from (select deptno,avg(sal) avg_sal from emp group by deptno))

)

-----------------------------------------------------------------
--姹傚鉤鍧囪柂姘寸殑絳夌駭鏈浣庣殑閮ㄩ棬鐨勯儴闂ㄥ悕縐?
--絎竴姝ワ細閮ㄩ棬騫沖潎钖按鐨勭瓑綰?鍒嗘垚涓や釜灝忔楠?絎竴灝忔鏄眰閮ㄩ棬騫沖潎钖按

select * from
(select deptno,avg(sal) avg_sal from emp group by deptno) t
join salgrade on avg_sal between losal and hisal

--絎簩姝ワ細鏈浣庣殑絳夌駭鍊?

select min(grade) from (1111111111111111111111111)

--絎笁姝ワ細絳変簬鏈浣庡肩殑閮ㄩ棬緙栧彿
------------鏈夐敊璇?搴旇鏄痝rade=
select deptno from (111111111111) where grade = (22222222222222)
--絎洓姝ワ細姹傚悕縐?
select dname from dept where deptno in(33333333333)




select dname
  from dept
where deptno in
       (
       
        select deptno
          from (select *
                   from (select deptno, avg(sal) avg_sal
                           from emp
                          group by deptno) t
                   join salgrade on avg_sal between losal and hisal)
         where grade =
               (select min(grade)
                  from (select *
                          from (select deptno, avg(sal) avg_sal
                                  from emp
                                 group by deptno) t
                          join salgrade on avg_sal between losal and hisal)))









--涔熷彲浠ョ敤瑙嗗浘鐨勬柟寮忔潵瑙e喅
--conn sys/bjsxt as sysdba
--grant create table, create view, create sequence to scott
--鏍規嵁絎竴姝ョ殑緇撴灉,寤虹珛涓涓獀iew

create or replace view v1 as
--蹇呴』鏄庣‘瀹氫箟鍒?
select deptno, avg_sal, grade from
(select deptno,avg(sal) avg_sal from emp group by deptno) t
join salgrade on avg_sal between losal and hisal


--鏌ョ湅涓涓?
select * from v1
--鏌ヨ涓涓?

--甯﹀叆view

select dname from dept where deptno in
(select deptno from (v1) where grade = (select min(grade) from v1))








-------------------------------------------------------------
--涓轟粈涔坕n鐨勫悗闈笉鑳給rder by 錛?







---------------------------------------------------------------
--姹傞儴闂ㄧ粡鐞嗕漢涓鉤鍧囪柂姘存渶浣庣殑閮ㄩ棬鍚嶇О (鎬濊冮)
絎竴姝?姹傞儴闂ㄧ粡鐞嗙殑闆囧憳緙栧彿
select distinct mgr from emp where mgr is not null
絎簩姝ワ紝鎸夐儴闂ㄧ粺璁★紝姹傞儴闂ㄧ粡鐞嗙殑騫沖潎钖按
select deptno,avg(sal) avg_sal from emp where empno in (select distinct mgr from emp where mgr is not null)group by deptno
絎笁姝ワ紝姹傛渶浣庡?
select min(avg(sal)) from emp where empno in (select distinct mgr from emp where mgr is not null)group by deptno
絎洓姝ワ紝姹傞儴闂ㄧ粡鐞嗕漢涓鉤鍧囪柂姘存渶浣庣殑閮ㄩ棬鍚嶇О
select deptno from (2222222222222) where avg_sal =(333333333333333333333333)


select dname from dept where deptno in (select deptno from (select deptno,avg(sal) avg_sal from emp where empno in (select distinct mgr from emp where mgr is not null)group by deptno) where avg_sal =(select min(avg(sal)) from emp where empno in (select distinct mgr from emp where mgr is not null)group by deptno))
----------------------------------------------------------------------------
--姹傛瘮鏅氬憳宸ョ殑鏈楂樿柂姘磋繕瑕侀珮鐨勭粡鐞嗕漢鍚嶇О
--1,姹傛墍鏈夌粡鐞嗙殑緙栧彿
create or replace view v1 as
select distinct mgr from emp where mgr is not null
select * from v1
--2,鏅氬憳宸ョ殑鏈楂樿柂姘?
select max(sal) from emp where empno not in (select distinct mgr from emp where mgr is not null)
--3,

select ename from emp where empno in (select * from v1)
and sal > (select max(sal) from emp where empno not in (select distinct mgr from emp where mgr is not null))

--鍗?


select ename from emp where empno in (select distinct mgr from emp where mgr is not null)
and sal > (select max(sal) from emp where empno not in (select distinct mgr from emp where mgr is not null))








------------------------------------------------------------------------------
--姹傝柂姘存渶楂樼殑鍓?鍚嶉泧鍛?
--1,鍏堣瀵熶竴涓?

--2,鐪嬬湅rownum鐨勪綔鐢?

--3,涓嶆槸鎴戜滑鎯寵鐨勭粨鏋?
select ename,sal  from emp where rownum<=5 order by sal desc
--4,鍏坥rder by,鍐峳ownum
select * from
(select ename,sal  from emp  order by sal desc ) t
where rownum<=5

--------------------------------------------------------------------------------
--姹傝柂姘存渶楂樼殑絎?鍒扮10鍚嶉泧鍛?閲嶇偣鎺屾彙)
--榪欑娌℃硶瀹炵幇,oracle涓媟ownum鍙兘浣跨敤 < <=錛?涓嶈兘浣跨敤 = > >= 絳夋瘮杈冩搷浣滅
--娉ㄦ剰閲岄潰鐨剅ownum鍜屽闈㈢殑rownum鐨勫尯鍒紝澶栭潰瑕佹兂璁塊棶閲岄潰鐨剅ownum錛屽繀欏誨彇寰椾竴涓埆鍚嶃?

select * from
(select ename,sal  from emp  order by sal desc ) t
where rownum>=5
and rownum<=10

--鎵浠ュ啀濂椾竴灞俿elect
select * from
(select t.*,rownum r from
(select ename,sal  from emp  order by sal desc ) t
)
where r>=5
and r<=10

--榪樻湁涓縐嶆帓搴忔柟寮?
select * from
(select * from emp  order by sal desc)where rownum<=10
minus
select * from
(select * from emp  order by sal desc)where rownum<=5
--------------------------------------------------------------------
--緇冧範: 姹傛渶鍚庡叆鑱岀殑5鍚嶅憳宸?
--1,姣忎釜浜虹殑鍏ヨ亴鏃墮棿

--2,鍙栧墠5琛?





-----------------------------------------------------------------
--姹傛瘡涓儴闂ㄤ腑钖按鏈楂樼殑鍓嶄袱鍚嶉泧鍛?

--1,姣忎釜鍛樺伐鐨勫鍚嶏紝閮ㄩ棬錛屽伐璧?鎸夐儴闂ㄥ拰宸ヨ祫(鍊掑簭)鎺掑垪
select ename,deptno,sal from emp order by deptno,sal desc
--2,濂椾竴灞?鍔犱笂涓猺
select ename,deptno,sal,rownum r from
(select ename,deptno,sal from emp order by deptno,sal desc) t
--3,鍒涘緩璇曞浘
create or replace view v1
as
select ename,deptno,sal,rownum r from
(select ename,deptno,sal from emp order by deptno,sal desc) t
--瑙傚療涓涓?
select * from v1

--姣忎釜閮ㄩ棬涓?钖按鏈楂樼殑絎竴琛?騫跺垱寤鴻瘯鍥?
create or replace view v2 as
select deptno,min(r) min_r from v1 group by deptno

--涓や釜view璺ㄨ〃榪炴帴,澶т簬钖按鏈楂樼殑琛屾暟,灝忎簬鏈楂樼殑琛屾暟+1,騫朵笖閮ㄩ棬緙栧彿瑕佸尮閰?
select ename from v1 join v2
on ( v1.deptno = v2.deptno and v1.r >=v2.min_r and v1.r<=v2.min_r+1)


-------------------------------------------------------------------------------
--闈㈣瘯棰? 姣旇緝鏁堢巼
  select * from emp where deptno = 10 and ename like '%A%';
  select * from emp where ename like '%A%' and deptno = 10;
 
---------------------------------------------------------
--浣跨敤union銆乵inus

--浣跨敤union銆乵inus鍙互鐢ㄦ潵瀹炵幇緇撴灉闆嗙殑鍚堝茍鍜屽幓闄わ紙鍙互鐞嗚В涓哄姞鍜屽噺錛夛紝渚嬪錛?
select * from emp where deptno=10
union
select * from emp where deptno=20;

--鐩稿綋浜?
select * from emp where deptno=10 or deptno=20

--鑰屼笅闈㈢殑璇彞
select * from emp where deptno in (10,20)
minus
select * from emp where sal < 1500;
--鐩稿綋浜?
select * from emp where deptno in(10,20) and sal>=1500

--姹傚垎孌墊樉紺鴻柂姘寸殑涓暟



濡傦細
scale      total
<800    0
801-1000 2
1001-2000 3
2001-5000 6
>5000    8

select '<800' as scale ,count(*) as total from emp where sal<800
union
select '<801-1000' as scale ,count(*) as total from emp where sal<=1000 and sal>=801



--鎴栬呮樉紺烘垚涓?
--娉ㄦ剰錛氫嬌鐢╞etween .. and .. 鐨勬椂鍊欙紝鍖呭惈浜嗘渶澶у拰鏈灝忓箋?
800-1000 1001-2000 2001-5000
2       3       6
select * from
(select count(*) as "800-1000" from emp where sal >=800 and sal <= 1000),
(select count(*) as "1001-2000" from emp where sal >=1001 and sal <= 2000),
(select count(*) as "2001-5000" from emp where sal >=2001 and sal <= 5000)



--鎴栨樉紺烘垚涓?
DEPTNO   800-2000  2001-5000
------ ---------- ----------
    30          5          1
    20          2          3
    10          1          2
select t.deptno,"800-2000","2001-5000" from
(select deptno,count(*) as "800-2000" from emp where sal between 800 and 2000 group by deptno) t
join
(select deptno,count(*) as "2001-5000" from emp where sal between 2001 and 5000 group by deptno) t1
on t.deptno = t1.deptno








  
-----------------------------------------------------------------------------------
--姣忎釜钖按絳夌駭鏈夊灝戝悕闆囧憳 錛?
--1,鍏堟眰鍑烘瘡涓泧鍛樼殑钖按絳夌駭

--2,鍐峠roup涓涓?


]]>
mldn jndi閰嶇疆http://m.tkk7.com/lanxin1020/archive/2009/03/25/261804.htmllanxin1020lanxin1020Wed, 25 Mar 2009 01:53:00 GMThttp://m.tkk7.com/lanxin1020/archive/2009/03/25/261804.htmlhttp://m.tkk7.com/lanxin1020/comments/261804.htmlhttp://m.tkk7.com/lanxin1020/archive/2009/03/25/261804.html#Feedback0http://m.tkk7.com/lanxin1020/comments/commentRss/261804.htmlhttp://m.tkk7.com/lanxin1020/services/trackbacks/261804.htmlTomcat6鏁版嵁婧愮殑閰嶇疆(JNDI)

 

Tomcat5鐗堟湰鐨?font face="Verdana">鏁版嵁婧愮殑閰嶇疆濡備笅錛?br /> <Resource name="jdbc/mldn"  auth="Container" type="javax.sql.DataSource"/>
 <ResourceParams name="jdbc/mldn">
  <parameter>
   <name>factory</name>
   <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
   <name>maxActive</name>
   <value>100</value>
  </parameter>
  <parameter>
   <name>maxIdle</name>
   <value>30</value>
  </parameter>
  <parameter>
   <name>maxWait</name>
   <value>5000</value>
  </parameter>
  <parameter>
   <name>username</name>
   <value>root</value>
  </parameter>
  <parameter>
   <name>password</name>
   <value>root</value>
  </parameter>
  <parameter>
   <name>driverClassName</name>
   <value>com.mysql.jdbc.Driver</value>
  </parameter>
  <parameter>
   <name>url</name>
   <value>jdbc:mysql://localhost:3306/mldn</value>
  </parameter>
  </ResourceParams>

Tomcat6鐗堟湰鐨勬暟鎹簮鐨勯厤緗涓嬶細

絎竴姝?鍦?Tomcat_HOME%conf\server.xml鐨?font face="Verdana"> <Host>鏍囩閲屽綋鍓嶄綅緗笅鐨?font face="Verdana"><Context>閲?/font>娣誨姞濡備笅浠g爜銆?/font>

<Resource   name="jdbc/mldn"
    auth="Container"
    type="javax.sql.DataSource"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory"
    username="root"
    password="root"
    url="jdbc:mysql://localhost:3306/mldn"
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="30"
    maxWait="5000"
    maxActive="100"/>

鍙﹀鍦?Tomcat_HOME%conf\context.xml鐨?font face="Verdana"> <Context>鏍囩閲?font face="Verdana">閲?/font>娣誨姞濡備笅浠g爜銆?/font>
<Resource name="jdbc/mldn" auth="Container"
            type="javax.sql.DataSource" username="root" password="xtcwvt"
            driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mldn"
            maxActive="8" maxIdle="4"/>

絎簩姝ワ細閰嶇疆搴旂敤鐩綍涓嬬殑web.xml鏂囦歡錛?font face="Verdana">鍦?lt;web-app></web-app>涔嬮棿鍔犲叆浠ヤ笅浠g爜錛?

<resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jdbc/mldn</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

娉ㄦ剰錛?font face="Verdana">瑕佹眰<res-ref-name>jdbc/mldn</res-ref-name>涓殑“jdbc/mldn”涓瀹氳涓庡湪server.xml涓厤緗殑Resource涓殑name涓鑷達紝涓嶇劧浼氬嚭閿欍?/font>

絎笁姝ワ細鍦ㄦ祴璇曚箣鍓嶏紝瑕佺‘淇濆皢鏁版嵁搴撶殑椹卞姩jar鍖呮斁鍒幫紝浣犵殑搴旂敤鐩綍\WEB-INF\lib鐩綍涓嬪拰%Tomcat_HOME%c\lib鐩綍涓嬨?

 涓嬮潰閲嶅惎Tomcat灝監K浜嗭紒



]]>
JNDI浣跨敤灝忔寚鍗?杞?http://m.tkk7.com/lanxin1020/archive/2009/03/24/261663.htmllanxin1020lanxin1020Tue, 24 Mar 2009 03:43:00 GMThttp://m.tkk7.com/lanxin1020/archive/2009/03/24/261663.htmlhttp://m.tkk7.com/lanxin1020/comments/261663.htmlhttp://m.tkk7.com/lanxin1020/archive/2009/03/24/261663.html#Feedback0http://m.tkk7.com/lanxin1020/comments/commentRss/261663.htmlhttp://m.tkk7.com/lanxin1020/services/trackbacks/261663.html閰嶇疆Tomcat5.5.X鐨凷erver.xml錛屽湪<host>涓嬮潰鍔?
          

  • <Context path="/JNDIDemo" docBase="D:\workspace\JNDIDemo\WebRoot" debug="0" reloadable="true" crossContext="true">    
  • <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_quality_log." suffix=".txt" timestamp="true"/>    
  •   <Resource    
  •     name="jdbc/test" <!-- JNDI鏁版嵁姹犲悕縐?nbsp;-->    
  •     type="javax.sql.DataSource" <!-- 鏁版嵁綾?nbsp;-->    
  •     password="karid"     <!-- 瀵嗙爜 -->    
  •     driverClassName="oracle.jdbc.driver.OracleDriver"  <!-- 椹卞姩 -->    
  •     maxIdle="2"               <!-- 鏈灝戝彲鐢╨ia -->    
  •     maxWait="5000"        <!-- 鏈澶х瓑寰呮椂闂?nbsp;5縐?nbsp;-->    
  •     username="karid"       <!-- 鐢ㄦ埛鍚?nbsp;-->    
  •     url="jdbc:oracle:thin:@127.0.0.1:1521:karid"    
  •     maxActive="4" <!-- 鏈澶у彲鐢ㄨ繛鎺?nbsp;--> />          
  •   
  • <ResourceParams name="jdbc/test">    
  •       
  • <parameter>    
  •   <name>removeAbandoned</name>    
  •   <!-- Abandoned DB connections are removed and recycled -->    
  •   <value>true</value>    
  • </parameter>    
  • <parameter>    
  •   <name>removeAbandonedTimeout</name>    
  •   <!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned.  -->    
  •   <value>60</value>    
  • </parameter>    
  • <parameter>    
  •   <name>logAbandoned</name>    
  •   <!-- Log a stack trace of the code which abandoned -->    
  •   <value>false</value>    
  • </parameter>    
  •   
  • <parameter>    
  •   <name>factory</name>    
  •   <!--DBCP Basic Datasource Factory -->    
  •   <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>    
  • </parameter>    
  •   
  • </ResourceParams> 
  •  


    2銆侀厤緗畐eb.xml 
         

    1. <description>MySQL Test App</description>    
    2. <resource-ref>    
    3.      <description>DB Connection</description>    
    4.      <res-ref-name>jdbc/test</res-ref-name>    
    5.      <res-type>javax.sql.DataSource</res-type>    
    6.      <res-auth>Container</res-auth>    
    7. </resource-ref>   

    3銆丣NDI浣跨敤 

         

    1. public class DataSourceFactory    
    2. {    
    3.     private static DataSource ds;    
    4.     public static DataSource createDataSourde()    
    5.     {    
    6.       if (ds == null)    
    7.       {    
    8.          try    
    9.          {    
    10.              Context initContext = new InitialContext();    
    11.              if (initContext == null)    
    12.                  System.out.println("鏃犻厤緗幆澧?);    
    13.              Context envContext = (Context) initContext.lookup("java:/compenv");    
    14.              ds = (DataSource) envContext.lookup("jdbc/test"); //鏍規嵁鍚嶇О鍙栧緱鏁版嵁婧?nbsp;   
    15.           }    
    16.           catch (NamingException e)    
    17.           {    
    18.               e.printStackTrace();    
    19.           }    
    20.        }    
    21.        return ds;    
    22.     }    
    23. }  


    ]]>
    主站蜘蛛池模板: 国产精品国产自线拍免费软件| 午夜无码A级毛片免费视频| 亚洲国产综合精品中文第一区| 成人黄软件网18免费下载成人黄18免费视频 | 亚洲人妻av伦理| 亚洲Av无码国产情品久久| 久久精品国产免费观看三人同眠| 亚洲免费日韩无码系列| 精品无码专区亚洲| 亚洲大码熟女在线观看| 中文字幕亚洲男人的天堂网络| 亚洲人成电影亚洲人成9999网 | 国产成人精品免费久久久久| 本道天堂成在人线av无码免费| 国产vA免费精品高清在线观看| 免费高清A级毛片在线播放| 亚洲av永久无码嘿嘿嘿| 亚洲婷婷天堂在线综合| 亚洲综合视频在线观看| 亚洲一区二区三区乱码A| 亚洲粉嫩美白在线| 最近免费中文字幕大全高清大全1| 亚洲&#228;v永久无码精品天堂久久| 亚洲视频中文字幕| 国产午夜无码精品免费看动漫| 精品香蕉在线观看免费| 亚洲国产成人精品91久久久| 久久亚洲美女精品国产精品 | 99久久99久久精品免费看蜜桃 | 国产zzjjzzjj视频全免费| 国产亚洲精品激情都市| 亚洲国产乱码最新视频| 国产99久久久久久免费看| 日韩精品无码免费专区午夜| 18禁成年无码免费网站无遮挡| 亚洲av色影在线| 一区二区三区无码视频免费福利| 国产无遮挡裸体免费视频 | 国产福利免费观看| 亚洲精品偷拍无码不卡av| g0g0人体全免费高清大胆视频|