锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
2. DBCC SHOWCONTIGDBCC SHOWCONTIGDBCC REDBINDEX搴旂敤紼嬪簭涓?/span>Employee琛?/span>錛屽湪 SQL ServerQuery analyzeruse database_name
declare @table_id int
set @table_id=object_id('Employee')
dbcc showcontig(@table_id)
DBCC SHOWCONTIG scanning 'Employee' table...
Table: 'Employee' (1195151303); index ID: 1, database ID: 53
TABLE level scan performed.
- Pages Scanned................................: 179
- Extents Scanned..............................: 24
- Extent Switches..............................: 24
- Avg. Pages per Extent........................: 7.5
- Scan Density [Best Count:Actual Count].......: 92.00% [23:25]
- Logical Scan Fragmentation ..................: 0.56%
- Extent Scan Fragmentation ...................: 12.50%
- Avg. Bytes Free per Page.....................: 552.3
- Avg. Page Density (full).....................: 93.18%
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Pages Scanned Extents Scanned Extent Switches DBCCAvg. Pages per Extent Scan Density[Best Count:Actual Count]
Best CountActual CountScan Density100%Logical Scan Fragmentation Extent Scan Fragmentation Avg. Bytes Free per Page Avg. Page Density (full) Best count23 Actual Count25ordersDBCC DBREINDEX3. DBCC DBREINDEX DBCC DBREINDEX
( [ 'database.owner.table_name'
[ , index_name
[ , fillfactor ]
]
]
)
'database.owner.table_name'
鏁版嵁搴撱佹墍鏈夎呭拰琛ㄥ悕蹇呴』絎﹀悎鏍囪瘑絎︾殑瑙勫垯銆傛湁鍏蟲(chóng)洿澶氫俊鎭紝璇峰弬瑙佷嬌鐢ㄦ爣璇嗙銆?/span> database owner (') database.owner.table_name table_nameindex_name
绱㈠紩鍚嶅繀欏葷鍚堟爣璇嗙鐨勮鍒欍?/span> index_name ' 'fillfactor
fillfactor fillfactor 0DBCC DBREINDEX fillfactorQuery Analyzerdbcc dbreindex('database_name.dbo.Employee','',90)
DBCC SHOWCONTIGDBCC SHOWCONTIG scanning 'Employee' table...
Table: 'Employee' (1195151303); index ID: 1, database ID: 53
TABLE level scan performed.
- Pages Scanned................................: 178
- Extents Scanned..............................: 23
- Extent Switches..............................: 22
- Avg. Pages per Extent........................: 7.7
- Scan Density [Best Count:Actual Count].......: 100.00% [23:23]
- Logical Scan Fragmentation ..................: 0.00%
- Extent Scan Fragmentation ...................: 0.00%
- Avg. Bytes Free per Page.....................: 509.5
- Avg. Page Density (full).....................: 93.70%
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Scan Denity100%******
SQL SERVERhttp://www.csdn.com.cn/database/1142.htm
unknown
1錛庡垹闄よ〃絀洪棿
DROP TABLESPACE TableSpaceName [INCLUDING CONTENTS [AND DATAFILES]]
2錛庡垹闄ょ敤鎴?/FONT>
DROP USER User_Name CASCADE
3錛庡垹闄よ〃鐨勬敞鎰忎簨欏?/FONT>
鍦ㄥ垹闄や竴涓〃涓殑鍏ㄩ儴鏁版嵁鏃訛紝欏諱嬌鐢═RUNCATE TABLE 琛ㄥ悕;鍥犱負(fù)鐢―ROP TABLE錛孌ELETE * FROM 琛ㄥ悕鏃訛紝TABLESPACE琛ㄧ┖闂磋琛ㄧ殑鍗犵敤絀洪棿騫舵湭閲婃斁錛屽弽澶嶅嚑嬈ROP錛孌ELETE鎿嶄綔鍚庯紝璇ABLESPACE涓婄櫨鍏嗙殑絀洪棿灝辮鑰楀厜浜?jiǎn)銆?/FONT>
4錛巋aving瀛愬彞鐨勭敤娉?/FONT>
having瀛愬彞瀵筭roup by瀛愬彞鎵紜畾鐨勮緇勮繘琛屾帶鍒訛紝having瀛愬彞鏉′歡涓彧鍏佽娑夊強(qiáng)甯擱噺,鑱氱粍鍑芥暟鎴杇roup by 瀛愬彞涓殑鍒椼?/FONT>
5錛庡閮ㄨ仈鎺?+"鐨勭敤娉?/FONT>
澶栭儴鑱旀帴"+"鎸夊叾鍦?="鐨勫乏杈規(guī)垨鍙寵竟鍒嗗乏鑱旀帴鍜屽彸鑱旀帴.鑻ヤ笉甯?+"榪愮畻絎︾殑琛ㄤ腑鐨勪竴涓涓嶇洿鎺ュ尮閰嶄簬甯?+"棰勭畻絎︾殑琛ㄤ腑鐨勪換浣曡,鍒欏墠鑰呯殑琛屼笌鍚庤呬腑鐨勪竴涓┖琛岀浉鍖歸厤騫惰榪斿洖.鑻ヤ簩鑰呭潎涓嶅甫鈥?鈥?鍒欎簩鑰呬腑鏃犳硶鍖歸厤鐨勫潎琚繑鍥?鍒╃敤澶栭儴鑱旀帴"+",鍙互鏇夸唬鏁堢巼鍗佸垎浣庝笅鐨?not in 榪愮畻,澶уぇ鎻愰珮榪愯閫熷害.渚嬪,涓嬮潰榪欐潯鍛戒護(hù)鎵ц璧鋒潵寰堟參
鐢ㄥ鑱旀帴鎻愰珮琛ㄨ繛鎺ョ殑鏌ヨ閫熷害
鍦ㄤ綔琛ㄨ繛鎺?甯哥敤浜庤鍥?鏃訛紝甯鎬嬌鐢ㄤ互涓嬫柟娉曟潵鏌ヨ鏁版嵁:
SELECT PAY_NO, PROJECT_NAME
FROM A
WHERE A.PAY_NO NOT IN (SELECT PAY_
NO FROM B WHERE VALUE >=120000);
---- 浣嗘槸鑻ヨ〃A鏈?0000鏉¤褰曪紝琛˙鏈?0000鏉¤褰曪紝鍒欒鐢ㄦ帀30鍒嗛挓鎵嶈兘鏌ュ畬錛屼富瑕佸洜涓篘OT IN瑕佽繘 琛屼竴鏉′竴鏉$殑姣旇緝錛屽叡闇瑕?0000*10000嬈℃瘮杈冨悗錛屾墠鑳藉緱鍒扮粨鏋溿傝鐢ㄥ鑱旀帴鍚庯紝鍙互緙╃煭鍒?鍒嗗乏鍙崇殑鏃墮棿:
SELECT PAY_NO,PROJECT_NAME
FROM A,B
WHERE A.PAY_NO=B.PAY_NO(+)
AND B.PAY_NO IS NULL
AND B.VALUE >=12000;
6錛巗et transaction鍛戒護(hù)鐨勭敤娉?/STRONG>
鍦ㄦ墽琛屽ぇ浜嬪姟鏃?鏈夋椂oracle浼?xì)鎶ュ嚭濡備笅鐨勯敊璇?
ORA-01555:snapshot too old (rollback segment too small)
銆銆榪欒鏄巓racle緇欐浜嬪姟闅忔満鍒嗛厤鐨勫洖婊氭澶皬浜?榪欐椂鍙互涓哄畠鎸囧畾涓涓凍澶熷ぇ鐨勫洖婊氭,浠ョ‘淇濊繖涓簨鍔$殑鎴愬姛鎵ц.渚嬪
set transaction use rollback segment roll_abc;
delete from table_name where ...
commit;
銆銆鍥炴粴孌祌oll_abc琚寚瀹氱粰榪欎釜delete浜嬪姟,commit鍛戒護(hù)鍒欏湪浜嬪姟緇撴潫涔嬪悗鍙栨秷浜?jiǎn)鍥炴粴娈电殑鎸囧?
7錛庢暟鎹簱閲嶅緩搴旀敞鎰忕殑闂
銆銆鍦ㄥ埄鐢╥mport榪涜鏁版嵁搴撻噸寤鴻繃紼嬩腑,鏈変簺瑙嗗浘鍙兘浼?xì)甯︽潵闂?鍥犱負(fù)緇撴瀯杈撳叆鐨勯『搴忓彲鑳介犳垚瑙嗗浘鐨勮緭鍏ュ厛浜庡畠浣庡眰嬈¤〃鐨勮緭鍏?榪欐牱寤虹珛瑙嗗浘灝變細(xì)澶辮觸.瑕佽В鍐寵繖涓闂,鍙噰鍙栧垎涓ゆ璧扮殑鏂規(guī)硶:棣栧厛杈撳叆緇撴瀯,鐒跺悗杈撳叆鏁版嵁.鍛戒護(hù)涓句緥濡備笅 (uesrname:jfcl,password:hfjf,host sting:ora1,鏁版嵁鏂囦歡:expdata.dmp):
imp jfcl/hfjf@ora1 file=empdata.dmp rows=N
imp jfcl/hfjf@ora1 file=empdata.dmp full=Y buffer=64000
commit=Y ignore=Y
銆銆絎竴鏉″懡浠よ緭鍏ユ墍鏈夋暟鎹簱緇撴瀯,浣嗘棤璁板綍.絎簩嬈¤緭鍏ョ粨鏋勫拰鏁版嵁,64000瀛楄妭鎻愪氦涓嬈?ignore=Y閫夐」淇濊瘉絎簩嬈¤緭鍏ユ棦浣垮璞″瓨鍦ㄧ殑鎯呭喌涓嬩篃鑳芥垚鍔?
select a.empno from emp a where a.empno not in (select empno from emp1 where job=鈥橲ALE鈥?;
銆銆鍊樿嫢鍒╃敤澶栭儴鑱旀帴,鏀瑰啓鍛戒護(hù)濡備笅:
select a.empno from emp a ,emp1 b
where a.empno=b.empno(+)
and b.empno is null
and b.job=鈥橲ALE鈥?
鍙互鍙戠幇,榪愯閫熷害鏄庢樉鎻愰珮.
8錛庝粠宸茬煡琛ㄦ柊寤哄彟涓涓〃錛?/FONT>
CREATE TABLE b
AS SELECT * (鍙互鏄〃a涓殑鍑犲垪)
FROM a
WHERE a.column = ...;
9錛庢煡鎵俱佸垹闄ら噸澶嶈褰?
娉曚竴: 鐢℅roup by璇彞 姝ゆ煡鎵懼緢蹇殑
select count(num), max(name) from student --鏌ユ壘琛ㄤ腑num鍒楅噸澶嶇殑錛屽垪鍑洪噸澶嶇殑璁板綍鏁幫紝騫跺垪鍑轟粬鐨刵ame灞炴?BR>group by num
having count(num) >1 --鎸塶um鍒嗙粍鍚庢壘鍑?guó)櫋ㄤ腑num鍒楅噸澶嶏紝鍗沖嚭鐜版鏁板ぇ浜庝竴嬈?BR>delete from student(涓婇潰Select鐨?
榪欐牱鐨勮瘽灝辨妸鎵鏈夐噸澶嶇殑閮藉垹闄や簡(jiǎn)銆?----鎱庨噸
娉曚簩:褰撹〃姣旇緝澶?渚嬪10涓囨潯浠ヤ笂)鏃?榪欎釜鏂規(guī)硶鐨勬晥鐜囦箣宸護(hù)浜烘棤娉曞繊鍙?闇瑕佸彟鎯沖姙娉?
---- 鎵ц涓嬮潰SQL璇彞鍚庡氨鍙互鏄劇ず鎵鏈塂RAWING鍜孌SNO鐩稿悓涓旈噸澶嶇殑璁板綍
SELECT * FROM EM5_PIPE_PREFAB
WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB D --D鐩稿綋浜嶧irst,Second
WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND
EM5_PIPE_PREFAB.DSNO=D.DSNO);
---- 鎵ц涓嬮潰SQL璇彞鍚庡氨鍙互鍒櫎鎵鏈塂RAWING鍜孌SNO鐩稿悓涓旈噸澶嶇殑璁板綍
DELETE FROM EM5_PIPE_PREFAB
WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB D
WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND
EM5_PIPE_PREFAB.DSNO=D.DSNO);
10錛庤繑鍥炶〃涓璠N錛孧]鏉¤褰曪細(xì)
鍙栧緱鏌愬垪涓N澶х殑琛?
select column_name from
(select table_name.*,dense_rank() over (order by column desc) rank from table_name)
where rank = &N錛?
銆鍋囧瑕佽繑鍥炲墠5鏉¤褰曪細(xì)
銆銆select * from tablename where rownum<6;(鎴栨槸rownum <= 5 鎴栨槸rownum != 6)
鍋囧瑕佽繑鍥炵5-9鏉¤褰曪細(xì)
select * from tablename
where 鈥?
and rownum<10
minus
select * from tablename
where 鈥?
and rownum<5
order by name
閫夊嚭緇撴灉鍚庣敤name鎺掑簭鏄劇ず緇撴灉銆?鍏堥夊啀鎺掑簭)
娉ㄦ剰錛氬彧鑳界敤浠ヤ笂絎﹀彿(<銆?lt;=銆?=)銆?
select * from tablename where rownum != 10;榪斿洖鐨勬槸鍓嶏紮鏉¤褰曘?
涓嶈兘鐢細(xì)>,>=,=,Between...and銆傜敱浜巖ownum鏄竴涓繪槸浠?寮濮嬬殑浼垪錛孫racle 璁や負(fù)榪欑鏉′歡 涓嶆垚绔嬶紝鏌ヤ笉鍒拌褰?
鍙﹀錛岃繖涓柟娉曟洿蹇細(xì)
select * from (
select rownum r,a from yourtable
where rownum <= 20
order by name )
where r > 10
榪欐牱鍙栧嚭絎?1-20鏉¤褰?(鍏堥夊啀鎺掑簭鍐嶉?
瑕佸厛鎺掑簭鍐嶉夊垯欏葷敤select宓屽錛氬唴灞傛帓搴忓灞傞夈?
rownum鏄殢鐫緇撴灉闆嗙敓鎴愮殑錛屼竴鏃︾敓鎴愶紝灝變笉浼?xì)鍙樺寲浜?jiǎn)錛涘悓鏃?鐢熸垚鐨勭粨鏋滄槸渚濇閫掑姞鐨勶紝娌℃湁1灝辨案榪滀笉浼?xì)鏈?!
rownum 鏄湪 鏌ヨ闆嗗悎浜х敓鐨勮繃紼嬩腑浜х敓鐨勪吉鍒楋紝騫朵笖濡傛灉where鏉′歡涓瓨鍦?rownum 鏉′歡鐨勮瘽錛屽垯:
1錛?鍋囧 鍒ゅ畾鏉′歡鏄父閲忥紝鍒欙細(xì)
鍙兘 rownum = 1, <= 澶т簬1 鐨勮嚜鐒舵暟錛?= 澶т簬1 鐨勬暟鏄病鏈夌粨鏋滅殑錛?澶т簬涓涓暟涔熸槸娌℃湁緇撴灉鐨?
鍗?褰撳嚭鐜頒竴涓?rownum 涓嶆弧瓚蟲(chóng)潯浠剁殑鏃跺欏垯 鏌ヨ緇撴潫 銆銆this is stop key!
2: 褰撳垽瀹氬間笉鏄父閲忕殑鏃跺?
鑻ユ潯浠舵槸 = var , 鍒欏彧鏈夊綋 var 涓? 鐨勬椂鍊欐墠婊¤凍鏉′歡錛岃繖涓椂鍊欎笉瀛樺湪 stop key ,蹇呴』榪涜 full scan ,瀵規(guī)瘡涓弧瓚沖叾浠杦here鏉′歡鐨勬暟鎹繘琛屽垽瀹?
閫夊嚭涓琛屽悗鎵嶈兘鍘婚塺ownum=2鐨勮鈥︹?
11錛庡揩閫熺紪璇戞墍鏈夎鍥?/STRONG>
---- 褰撳湪鎶婃暟鎹簱鍊掑叆鍒版柊鐨勬湇鍔″櫒涓婂悗(鏁版嵁搴撻噸寤?錛岄渶瑕佸皢瑙嗗浘閲嶆柊緙栬瘧涓閬嶏紝鍥犱負(fù)璇ヨ〃絀洪棿瑙嗗浘鍒板叾瀹冭〃絀洪棿鐨勮〃鐨勮繛鎺ヤ細(xì)鍑虹幇闂錛屽彲浠ュ埄鐢≒L/SQL鐨勮璦鐗規(guī)э紝蹇熺紪璇戙?
SQL >SPOOL ON.SQL
SQL >SELECT 鈥楢LTER VIEW 鈥榺|TNAME||鈥?
COMPILE;鈥?FROM TAB;
SQL >SPOOL OFF
鐒跺悗鎵цON.SQL鍗沖彲銆?
SQL >@ON.SQL
褰撶劧錛屾巿鏉冨拰鍒涘緩鍚屼箟璇嶄篃鍙互蹇熻繘琛岋紝濡傦細(xì)
SQL >SELECT 鈥楪RANT SELECT ON 鈥?BR>||TNAME||鈥?TO USERNAME;鈥?FROM TAB;
SQL >SELECT 鈥楥REATE SYNONYM
鈥榺|TNAME||鈥?FOR USERNAME.鈥檤|TNAME||鈥?鈥?FROM TAB;
12錛庤鍐欐枃鏈瀷鎿嶄綔緋葷粺鏂囦歡
---- 鍦≒L/SQL 3.3浠ヤ笂鐨勭増鏈腑錛孶TL_FILE鍖呭厑璁哥敤鎴烽氳繃PL/SQL璇誨啓鎿嶄綔緋葷粺鏂囦歡銆傚涓嬶細(xì)
DECALRE
FILE_HANDLE UTL_FILE.FILE_TYPE;
BEGIN
FILE_HANDLE:=UTL_FILE.FOPEN(
鈥楥:\鈥?鈥橳EST.TXT鈥?鈥橝鈥?;
UTL_FILE.PUT_LINE(FILE_HANDLE,鈥?BR>HELLO,IT鈥橲 A TEST TXT FILE鈥?;
UTL_FILE.FCLOSE(FILE_HANDLE);
END;
13錛庡湪鏁版嵁搴撹Е鍙戝櫒涓嬌鐢ㄥ垪鐨勬柊鍊間笌鏃у?/STRONG>
---- 鍦ㄦ暟鎹簱瑙﹀彂鍣ㄤ腑鍑犱箮鎬繪槸瑕佷嬌鐢ㄨЕ鍙戝櫒鍩鴻〃鐨勫垪鍊鹼紝濡傛灉鏌愭潯璇彞闇瑕佹煇鍒椾慨鏀瑰墠鐨勫鹼紝浣跨敤:OLD灝卞彲浠ヤ簡(jiǎn)錛屼嬌鐢ㄦ煇鍒椾慨鏀瑰悗鐨勬柊鍊鹼紝鐢?NEW灝卞彲浠ヤ簡(jiǎn)銆傚:OLD.DEPT_NO,:NEW.DEPT_NO銆?
14錛庢暟鎹簱鏂囦歡鐨勭Щ鍔ㄦ柟娉?/STRONG>
褰撴兂灝嗘暟鎹簱鏂囦歡縐誨姩鍒板彟澶栦竴涓洰褰曚笅鏃訛紝鍙互鐢ˋLTER DATABASE鍛戒護(hù)鏉ョЩ鍔?姣擜LTER TABLESPACE閫傜敤鎬у己)錛?
1. 浣跨敤SERVER MANAGER鍏抽棴瀹炰緥.
SVRMGR > connect internal;
SVRMGR > shutdown;
SVRMGR >exit;
2. 浣跨敤鎿嶄綔緋葷粺鍛戒護(hù)鏉ョЩ鍔ㄦ暟鎹簱鏂囦歡浣嶇疆(鍋囪榪欓噷鎿嶄綔緋葷粺涓篠OLARIS 2.6). 鍦║NIX涓敤 mv鍛戒護(hù)鍙互鎶婃枃浠剁Щ鍔ㄥ埌鏂扮殑浣嶇疆錛?
#mv /ora13/orarun/document.dbf /ora12/orarun
3. 瑁呰澆鏁版嵁搴撳茍鐢╝lter database鍛戒護(hù)鏉ユ敼鍙樻暟鎹簱涓殑鏂囦歡鍚?
SVRMGR > connect internal;
SVRMGR > startup mount RUN73;
SVRMGR > alter database rename file
> 鈥? ora13/orarun/document.dbf鈥?
> 鈥? ora12/orarun/document.dbf鈥?
4. 鍚姩瀹炰緥.
SVRMGR > alter database open;
15錛庤繛鎺ユ煡璇㈢粨鏋滐細(xì)
琛╝ 鍒?a1 a2
璁板綍 1 a
1 b
2 x
2 y
2 z
鐢╯elect鑳介夋垚浠ヤ笅緇撴灉:
1 ab
2 xyz
涓嬮潰鏈変袱涓緥瀛愶細(xì)
1.浣跨敤pl/sql浠g爜瀹炵幇錛屼絾瑕佹眰浣犵粍鍚堝悗鐨勯暱搴︿笉鑳借秴鍑簅racle varchar2闀垮害鐨勯檺鍒?
create or replace type strings_table is table of varchar2(20);
/
create or replace function merge (pv in strings_table) return varchar2
is
ls varchar2(4000);
begin
for i in 1..pv.count loop
ls := ls || pv(i);
end loop;
return ls;
end;
/
create table t (id number,name varchar2(10));
insert into t values(1,'Joan');
insert into t values(1,'Jack');
insert into t values(1,'Tom');
insert into t values(2,'Rose');
insert into t values(2,'Jenny');
column names format a80;
select t0.id,merge(cast(multiset(select name from t where t.id = t0.id) as strings_table)) names
from (select distinct id from t) t0;
drop type strings_table;
drop function merge;
drop table t;
2.綰補(bǔ)鐢╯ql錛?
琛╠ept, emp
瑕佸緱鍒板涓嬬粨鏋?
deptno, dname, employees
---------------------------------
10, accounting, clark;king;miller
20, research, smith;adams;ford;scott;jones
30, sales, allen;blake;martin;james;turners
姣忎釜dept鐨別mployee涓茶搗鏉ヤ綔涓轟竴鏉¤褰曡繑鍥?
This example uses a max of 6, and would need more cut n pasting to do more than that錛?
SQL> select deptno, dname, emps
2 from (
3 select d.deptno, d.dname, rtrim(e.ename ||', '||
4 lead(e.ename,1) over (partition by d.deptno
5 order by e.ename) ||', '||
6 lead(e.ename,2) over (partition by d.deptno
7 order by e.ename) ||', '||
8 lead(e.ename,3) over (partition by d.deptno
9 order by e.ename) ||', '||
10 lead(e.ename,4) over (partition by d.deptno
11 order by e.ename) ||', '||
12 lead(e.ename,5) over (partition by d.deptno
13 order by e.ename),', ') emps,
14 row_number () over (partition by d.deptno
15 order by e.ename) x
16 from emp e, dept d
17 where d.deptno = e.deptno
18 )
19 where x = 1
20 /
DEPTNO DNAME EMPS
------- ----------- ------------------------------------------
10 ACCOUNTING CLARK, KING, MILLER
20 RESEARCH ADAMS, FORD, JONES, ROONEY, SCOTT, SMITH
30 SALES ALLEN, BLAKE, JAMES, MARTIN, TURNER, WARD
16錛庡湪Oracle涓緩涓涓紪鍙蜂細(xì)鑷姩澧炲姞鐨勫瓧孌?浠ュ埄浜庢煡璇?/STRONG>
1銆佸緩绔嬪簭鍒楋細(xì)
CREATE SEQUENCE checkup_no_seq
NOCYCLE
MAXVALUE 9999999999
START WITH 2;
2銆佸緩绔嬭Е鍙戝櫒錛?
CREATE OR REPLACE TRIGGER set_checkup_no
BEFORE INSERT ON checkup_history
FOR EACH ROW
DECLARE
next_checkup_no NUMBER;
BEGIN
--Get the next checkup number from the sequence
SELECT checkup_no_seq.NEXTVAL
INTO next_checkup_no
FROM dual;
--use the sequence number as the primary key
--for the record being inserted
:new.checkup_no := next_checkup_no;
END;
17錛庢煡鐪嬪璞$殑渚濊禆鍏崇郴(姣斿瑙嗗浘涓庤〃鐨勫紩鐢?
鏌ョ湅瑙嗗浘錛歞ba_dependencies 璁板綍浜?jiǎn)鐩稿叧鐨勪緷璧栧叧绯?
鏌ヤ笢瑗夸笉鐭ラ亾瑕佹煡鐪嬪摢涓鍥炬椂錛屽彲浠ュ湪DBA_Objects閲岀湅錛?
select object_name from dba_objects where object_name like '%ROLE%'(鍋囧鏌ョ湅ROLE鐩稿叧)
鐒跺悗DESC涓涓嬪氨澶т綋涓婄煡閬撲簡(jiǎn)銆?/FONT>
18錛庤鎵懼埌鏌愭湀涓墍鏈夊懆浜旂殑鍏蜂綋鏃ユ湡
select to_char(t.d,'YY-MM-DD') from (
select trunc(sysdate, 'MM')+rownum-1 as d
from dba_objects
where rownum < 32) t
where to_char(t.d, 'MM') = to_char(sysdate, 'MM') --鎵懼嚭褰撳墠鏈堜喚鐨勫懆浜旂殑鏃ユ湡
and trim(to_char(t.d, 'Day')) = '鏄熸湡浜?
--------
03-05-02
03-05-09
03-05-16
03-05-23
03-05-30
濡傛灉鎶妛here to_char(t.d, 'MM') = to_char(sysdate, 'MM')鏀規(guī)垚sysdate-90錛屽嵆涓烘煡鎵懼綋鍓嶆湀浠界殑鍓嶄笁涓湀涓殑姣忓懆浜旂殑鏃ユ湡銆?/FONT>
鑸囧懆鐩擱棞鏃ユ湡鍑芥暩 1.鏌ヨ鏌愬懆鐨勭涓澶?BR>select trunc(decode(ww, 53, to_date(yy || '3112', 'yyyyddmm'), to_date(yy || '-' || to_char(ww * 7), 'yyyy-ddd')), 'd') last_day from (select substr('2004-32', 1, 4) yy, to_number(substr('2004-32', 6)) ww from dual) select trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d')-6 first_day from dual select min(v_date) from (select (to_date('200201','yyyymm') + rownum) v_date from all_tables where rownum < 370) where to_char(v_date,'yyyy-iw') = '2002-49' 2.鏌ヨ鏌愬懆鐨勬渶鍚庝竴澶?BR>select trunc(decode(ww, 53, to_date(yy || '3112', 'yyyyddmm'), to_date(yy || '-' || to_char(ww * 7), 'yyyy-ddd')), 'd') - 6 first_day from (select substr('2004-33', 1, 4) yy, to_number(substr('2004-33', 6)) ww from dual) select trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d') last_day from dual select max(v_date) from (select (to_date('200408','yyyymm') + rownum) v_date from all_tables where rownum < 370) where to_char(v_date,'yyyy-iw') = '2004-33' 3.鏌ヨ鏌愬懆鐨勬棩鏈?BR>select min_date, to_char(min_date,'day') day from (select to_date(substr('2004-33',1,4)||'001'+rownum-1,'yyyyddd') min_date from all_tables where rownum <= decode(mod(to_number(substr('2004-33',1,4)),4),0,366,365) union select to_date(substr('2004-33',1,4)-1|| decode(mod(to_number(substr('2004-33',1,4))-1,4),0,359,358)+rownum,'yyyyddd') min_date from all_tables where rownum <= 7 union select to_date(substr('2004-33',1,4)+1||'001'+rownum-1,'yyyyddd') min_date from all_tables where rownum <= 7 ) where to_char(min_date,'yyyy-iw') ='2004-33' |