]]>澶囦喚鏈嶅姟鍣ㄧSQL SERVER鏁版嵁搴撹嚦鏈湴鐩綍http://www.shnenglu.com/lilac/archive/2008/01/13/41074.html鏉庝簹鏉庝簹Sat, 12 Jan 2008 16:18:00 GMThttp://www.shnenglu.com/lilac/archive/2008/01/13/41074.htmlhttp://www.shnenglu.com/lilac/comments/41074.htmlhttp://www.shnenglu.com/lilac/archive/2008/01/13/41074.html#Feedback0http://www.shnenglu.com/lilac/comments/commentRss/41074.htmlhttp://www.shnenglu.com/lilac/services/trackbacks/41074.html/**//*鏁告摎搴倷浠藉瓨鍎查亷紼?/span>*/ /**//*鏀寔寰炴湇鍕欏櫒鍌欎喚鏁告摎鑷蟲湰鍦版鍣ㄤ笂*/ -- CREATEPROCEDURE up_dbbackup ( @backup_db_nameVARCHAR(128), @filenameVARCHAR(128), /**//*鍌欎喚璺緫+鏂囦歡鍚?/span>*/ @flagVARCHAR(60) OUTPUT ) AS SET NOCOUNT ON DECLARE@sqlNVARCHAR(4000),@parNVARCHAR(1000) IFNOTEXISTS( SELECT*FROM master..sysdatabases WHERE name=@backup_db_name ) BEGIN SELECT@flag='鏁告摎搴?/span>'+@backup_db_name+'涓嶅瓨鍦?' RETURN END ELSE BEGIN IFRIGHT(@filename,1)<>'\'ANDCHARINDEX('\',@filename)<>0 BEGIN /**//*瀹氱京妯欒獙*/ DECLARE@lFlagINT EXECUTE@lFlag=master..xp_cmdshell 'DIR Z:' IF@lFlag<>0 BEGIN /**//* 鍦ㄥ鎴舵192.168.2.45涓婂緩绔嬩竴鍊嬪畬鍏ㄥ叡浜洰閷刣b,鎸囧畾涓鍊嬬敤鎴跺悕鍜屽瘑紕?Win98鐢ㄦ埗涓嶉渶瑕佺敤鎴跺悕鍜屽瘑紕?/span>*/ EXECUTE@lFlag=master..xp_cmdshell 'NET USE Z: \\192.168.2.45\db$ test /user:ca.atc\test' IF@lFlag<>0 BEGIN SELECT@flag='鏈嶅嫏鍣ㄥ壍寤虹洰閷勫け鏁?' RETURN END END SELECT@par='@filename VARCHAR(1000)' SELECT@sql='BACKUP DATABASE '+@backup_db_name+' TO DISK=@filename WITH INIT' EXECUTE sp_executesql @sql,@par,@filename EXECUTE master..xp_cmdshell 'NET USE Z: /DELETE' SELECT@flag='鏁告摎搴?/span>'+@backup_db_name+'鍌欎喚鎴愬姛!' RETURN END ELSE BEGIN SELECT@flag='鏁告摎搴倷浠借礬寰戦尟瑾?' RETURN END END **浠ヤ笂閬庣▼鍦⊿QL SERVER涓嬫脯瑭﹂氶亷
]]>sql瀹炵幇鍒嗘鍔熻兘鐨勫嚱鏁?鍘繪帀閲嶅璁板綍錛岃幏鍙栭噸澶嶈褰?/title>http://www.shnenglu.com/lilac/archive/2008/01/13/41073.html鏉庝簹鏉庝簹Sat, 12 Jan 2008 16:12:00 GMThttp://www.shnenglu.com/lilac/archive/2008/01/13/41073.htmlhttp://www.shnenglu.com/lilac/comments/41073.htmlhttp://www.shnenglu.com/lilac/archive/2008/01/13/41073.html#Feedback0http://www.shnenglu.com/lilac/comments/commentRss/41073.htmlhttp://www.shnenglu.com/lilac/services/trackbacks/41073.html
sql瀹炵幇鍒嗘鍔熻兘鐨勫嚱鏁?/a>
--綆鍗曞垎孌佃鍙?/font>
declare @b varchar(20)
select @b='a-b-c-d-e'--澶勭悊
declare @sql varchar(4000)
select @sql= 'select '''+replace(@b,'-',''' union all select ''') ''''exec(@sql)
--瀹炵幇 split 鍒嗘鍔熻兘鐨勫嚱鏁?/font>
createfunction f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
asbegindeclare @i intset @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begininsert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
endif @SourceSql<>'\'insert @temp values(@SourceSql)
returnend--鐢ㄦ硶:
select * from dbo.f_split('A:B:C:D:E',':')
--杈撳嚭
a
1 A
2 B
3 C
4 D
5 E
--瀹炵幇綆鍗曟ā緋婃煡鎵劇殑榪囩▼
create procedure splitter
@strvarchar(1024)
asdeclare @s varchar(1024)
declare @i intset @s='select message from T_QQMsgLog where 1=1'set @i=1
]]>綆鍗曞瘑鐮佸姞瀵嗚繃紼?/title>http://www.shnenglu.com/lilac/archive/2008/01/13/41071.html鏉庝簹鏉庝簹Sat, 12 Jan 2008 16:11:00 GMThttp://www.shnenglu.com/lilac/archive/2008/01/13/41071.htmlhttp://www.shnenglu.com/lilac/comments/41071.htmlhttp://www.shnenglu.com/lilac/archive/2008/01/13/41071.html#Feedback0http://www.shnenglu.com/lilac/comments/commentRss/41071.htmlhttp://www.shnenglu.com/lilac/services/trackbacks/41071.html--鏂板鎴栦慨鏀瑰瘑鐮?br>createproc modifypwd @uid varchar(16),@pwd varchar(16) as declare @encode varbinary(255) set @encode=convert(varbinary(255),pwdencrypt(@pwd)) ifexists(select uid from [user] where uid=@uid) update [user] set pwd=@encode where uid=@uid else insertinto [user](uid,pwd) values(@uid,@encode) go
--鍒ゆ柇瀵嗙爜鏄惁姝g‘ createproc checkid @uid varchar(16),@pwd varchar(16) as declare @encode varbinary(255) select @encode=pwd from [user] where uid=@uid if pwdcompare(@pwd,@encode,0)='1' select'鐧誨綍鎴愬姛' else select'鐢ㄦ埛鍚嶆垨瀵嗙爜閿? GO
--榪斿洖闅忔満瀛楃涓茬殑榪囩▼ createproc randomchar @times int,@result varchar(255) out as declare @k int declare @r int declare @i int declare @s varchar(255) set @i=0 set @s='' while @i<@times begin set @k=rand()*61 if @k<26 set @r=@k+97 elseif @k>51 set @r=@k-4 else set @r=@k 39 set @s=@s char(@r) set @i=@i 1 end set @result=@s --璋冪敤 declare @s varchar(255) exec randomchar 20,@s out
declare @sql varchar(4000) set @sql = 'select 濮撳悕' select @sql = @sql + ',sum(case 瀛︾ when ''' 瀛︾ ''' then 鎴愮嘩 end) as ' 瀛︾ from (selectdistinct 瀛︾ from CJ) as a set @sql = @sql ' from cj groupby 濮撳悕' exec(@sql)
鍒涘緩涓涓悎騫剁殑鍑芥暟 createfunction fmerg(@idint) returnsvarchar(8000) as begin declare @strvarchar(8000) set @str='' select @str=@str','cast(pid asvarchar) from 琛ˋ whereid=@id set @str=right(@str,len(@str)-1) return(@str) end go
--璋冪敤鑷畾涔夊嚱鏁板緱鍒扮粨鏋?br>selectdistinctid,dbo.fmerg(id) from 琛ˋ
]]>綺懼SQLhttp://www.shnenglu.com/lilac/archive/2008/01/13/41068.html鏉庝簹鏉庝簹Sat, 12 Jan 2008 16:08:00 GMThttp://www.shnenglu.com/lilac/archive/2008/01/13/41068.htmlhttp://www.shnenglu.com/lilac/comments/41068.htmlhttp://www.shnenglu.com/lilac/archive/2008/01/13/41068.html#Feedback0http://www.shnenglu.com/lilac/comments/commentRss/41068.htmlhttp://www.shnenglu.com/lilac/services/trackbacks/41068.html鈽呰鏄庯細(xì)澶嶅埗琛?鍙鍒剁粨鏋?婧愯〃鍚嶏細(xì)a 鏂拌〃鍚嶏細(xì)b)
SQL: select * into b from a where 1<>1
鈽呰鏄庯細(xì)鎷瘋礉琛?鎷瘋礉鏁版嵁,婧愯〃鍚嶏細(xì)a 鐩爣琛ㄥ悕錛歜)
SQL: insertinto b(a, b, c) select d,e,f from b;
鈽呰鏄庯細(xì)鏄劇ず鏂囩珷銆佹彁浜や漢鍜屾渶鍚庡洖澶嶆椂闂?nbsp;
SQL: select a.title,a.username,b.adddate fromtable a,(select max(adddate) adddate fromtablewheretable.title=a.title) b
鈽呰鏄庯細(xì)澶栬繛鎺ユ煡璇?琛ㄥ悕1錛歛 琛ㄥ悕2錛歜)
SQL: select a.f1, a.f2, a.f3, b.f3, b.f4, b.f5 from a left OUT JOIN b ON a.f1 = b.f3 (宸﹁繛鎺? SQL: select a.f1, b.f2 from a FULL OUT JOIN b ON a.f1 = b.f1 (鍏ㄨ繛鎺?
鈽呰鏄庯細(xì)鏃ョ▼瀹夋帓鎻愬墠浜斿垎閽熸彁閱?nbsp;
SQL: select * from 鏃ョ▼瀹夋帓 wheredatediff('minute',f寮濮嬫椂闂?getdate())>5
鈽呰鏄庯細(xì)涓ゅ紶鍏寵仈琛紝鍒犻櫎涓昏〃涓凡緇忓湪鍓〃涓病鏈夌殑淇℃伅
SQL:
deletefrom info where not exists ( select * from infobz where info.infid=infobz.infid )
鈽呰鏄庯細(xì)鍥涜〃鑱旀煡闂錛?nbsp;
select f1, (select min(f)-1 from t where f>f1) as f2 from (select f 1 as f1 from t where f 1 not in (select f from t) and f <(select max(f) from t)) as cc
鈽呰鏄庯細(xì)--
SQL:
select A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE from TABLE1, (select X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE from (select NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND from TABLE2 where TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X, (select NUM, UPD_DATE, STOCK_ONHAND from TABLE2 where TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') || '/01','YYYY/MM/DD') - 1, 'YYYY/MM') ) Y, where X.NUM = Y.NUM 錛?錛?nbsp; and X.INBOUND_QTY NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND ) B where A.NUM = B.NUM
鈽呰鏄庯細(xì)--
SQL:
select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 緋誨悕縐?'"&strdepartmentname&"'and 涓撲笟鍚嶇О='"&strprofessionname&"'orderby 鎬у埆,鐢熸簮鍦?楂樿冩繪垚緇?nbsp;
select a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') as telyear, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '01', a.factration)) as JAN, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '02', a.factration)) as FRI, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '03', a.factration)) as MAR, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '04', a.factration)) as APR, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '05', a.factration)) as MAY, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '06', a.factration)) as JUE, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '07', a.factration)) as JUL, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '08', a.factration)) as AGU, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '09', a.factration)) as SEP, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '10', a.factration)) as OCT, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '11', a.factration)) as NOV, sum(decode(TO_CHAR(a.telfeedate, 'mm'), '12', a.factration)) as DEC from (select a.userper, a.tel, a.standfee, b.telfeedate, b.factration from TELFEESTAND a, TELFEE b where a.tel = b.telfax) a groupby a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy')
1.鎶婃煇涓瓧孌甸噸鏂扮敓璧峰簭鍒?浠?鍒皀):
set IDENTITY_INSERT Table1 ON declare @i int set @i = 0 update Table1 set @i = @i 1,Field1 = @i set IDENTITY_INSERT Table1 off
2.鎸夋垚緇╂帓鍚嶆 update 鎴愮嘩琛?br>set a.鍚嶆 = ( selectcount(*) 1 from 鎴愮嘩琛?b where a.鎬繪垚緇?< b.鎬繪垚緇?br>) from 鎴愮嘩琛?a
3.鏌ヨ澶栭儴鏁版嵁搴?br>select a.* from OpenRowSet('Microsoft.Jet.OLEDB.4.0','c:\test.mdb';'admin';'',Table1) a
4.鏌ヨExcel鏂囦歡 select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";userid=Admin;Password=;Extended properties=Excel 8.0')...Sheet1$
5.鍦ㄦ煡璇腑鎸囧畾鎺掑簭瑙勫垯 select * from Table1 orderby Field1 COLLATE Chinese_PRC_BIN 涓轟粈涔堣鎸囧畾鎺掑簭瑙勫垯鍛?鍙傝: http://www.zahui.com/html/8/15480.htm 渚?媯(gè)鏌ユ暟鎹簱涓殑Pub_Users琛ㄤ腑鏄惁瀛樺湪鎸囧畾鐨勭敤鎴? selectcount(*) from Pub_Users where [UserName]='admin'and [PassWord]='aaa' COLLATE Chinese_PRC_BIN 榛樿姣旇緝鏄笉鍖哄垎澶у皬鍐欑殑,濡傛灉涓嶅姞COLLATE Chinese_PRC_BIN,閭d箞瀵嗙爜aaa涓嶢AA鏄瓑鏁堢殑,榪欏綋鐒朵笌瀹為檯涓嶇.娉ㄦ剰鐨勬槸,姣忎釜鏉′歡閮借鎸囧畾鎺掑簭瑙勫垯,涓婁緥涓敤鎴峰悕灝變笉鍖哄垎澶у皬鍐?
6.orderby鐨勪竴涓皬鎶宸?br>orderby鍙互鎸囧畾鍒楀簭鑰屼笉鐢ㄦ寚瀹氬垪鍚?鍦ㄤ笅闈㈢殑渚嬪瓙閲岃鏄庡畠鐨勭敤澶?娉ㄦ剰,絎笁鍒楁湭鎸囧畾鍒悕) select a.id,a.Name,(selectcount(*) from TableB b where a.id=b.PID) from TableA a orderby 3
7.SQL綆鍗曞垎欏電殑瀛樺偍榪囩▼ 鈼嗗父鐢ㄢ梿鈼嗗父鐢ㄢ梿鈼嗗父鐢ㄢ梿鈼嗗父鐢ㄢ梿鈼嗗父鐢ㄢ梿 /* createproc recordpages @nowpage int, @per int as declare @s nvarchar(255) if @nowpage<1 set @nowpage=1 if @per<1 set @per=1 set @s=N'declare @k intselecttop 'convert(varchar(10),(@nowpage-1)*@per) ' @k=idfrom table1 selecttop' convert(varchar(10),@per) ' * from table1 whereid>@k' execsp_executesql @s go */ exec recordpages 3,10
8錛氬緱鍒拌〃涓渶灝忕殑鏈嬌鐢ㄧ殑id鍙?/p>
SQL: select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
9.寰楀埌琛ㄤ腑鑷姩緙栧彿鍒楃簿蹇?jī)绛栧垝鍙风殑钃v濮嬩綅緗?br> SQL: select (casewhenexists(select * from Handle b where b.HandleID = 1) then MIN(HandleID) + 1 else 1 end) as HandleID from Handle where NOT HandleID in (select a.HandleID - 1 from Handle a)
濡傛灉鍛戒護(hù)鎵ц鎴愬姛,鍙互鐪嬪埌灞忓箷涓闂箣鍚庡厜鏍囧湪宸︿笂瑙掍笉鍋滈棯鍔?榪欒鏄?SQL Server 鏈嶅姟鍣ㄥ伐浣滄甯?騫朵笖姝e湪鐩戝惉1433绔彛鐨?TCP/IP 榪炴帴 濡傛灉鍛戒護(hù)榪斿洖"鏃犳硶鎵撳紑榪炴帴"鐨勯敊璇俊鎭?鍒欒鏄庢湇鍔″櫒绔病鏈夊惎鍔?SQL Server 鏈嶅姟, 涔熷彲鑳芥湇鍔″櫒绔病鍚敤 TCP/IP 鍗忚,鎴栬呮湇鍔″櫒绔病鏈夊湪 SQL Server 榛樿鐨勭鍙?433涓婄洃鍚?
=============鎺ョ潃,鎴戜滑瑕佸埌鏈嶅姟鍣ㄤ笂媯(gè)鏌ユ湇鍔″櫒绔殑緗戠粶閰嶇疆,媯(gè)鏌ユ槸鍚﹀惎鐢ㄤ簡(jiǎn)鍛藉悕綆¢亾.鏄惁鍚敤浜?TCP/IP 鍗忚絳夌瓑 ============= 鍙互鍒╃敤 SQL Server 鑷甫鐨勬湇鍔″櫒緗戠粶浣跨敤宸ュ叿鏉ヨ繘琛屾鏌?
鐐瑰嚮:紼嬪簭 -- Microsoft SQL Server -- 鏈嶅姟鍣ㄧ綉緇滀嬌鐢ㄥ伐鍏?
鎵撳紑璇ュ伐鍏峰悗,鍦?甯歌"涓彲浠ョ湅鍒版湇鍔″櫒鍚敤浜?jiǎn)鍝簺鍗忚? 涓鑸岃█,鎴戜滑鍚敤鍛藉悕綆¢亾浠ュ強(qiáng) TCP/IP 鍗忚. 鐐逛腑 TCP/IP 鍗忚,閫夋嫨"灞炴?,鎴戜滑鍙互鏉ユ鏌?SQK Server 鏈嶅姟榛樿绔彛鐨勮緗? 涓鑸岃█,鎴戜滑浣跨敤 SQL Server 榛樿鐨?433绔彛.濡傛灉閫変腑"闅愯棌鏈嶅姟鍣?,鍒欐剰鍛崇潃瀹㈡埛绔棤娉曢氳繃鏋氫婦鏈嶅姟鍣ㄦ潵鐪嬪埌榪欏彴鏈嶅姟鍣?璧峰埌浜?jiǎn)淇濇姢鐨勪綔鐢?浣嗕笉褰卞搷榪炴帴.
============= 鎺ヤ笅鏉ユ垜浠鍒板鎴風(fēng)媯(gè)鏌ュ鎴風(fēng)鐨勭綉緇滈厤緗?============= 鎴戜滑鍚屾牱鍙互鍒╃敤 SQL Server 鑷甫鐨勫鎴風(fēng)緗戠粶浣跨敤宸ュ叿鏉ヨ繘琛屾鏌? 鎵涓嶅悓鐨勬槸榪欐鏄湪瀹㈡埛绔潵榪愯榪欎釜宸ュ叿.
1.鍦ㄦ湇鍔″櫒绔嬌鐢ㄤ紒涓氱鐞嗗櫒,騫朵笖閫夋嫨"浣跨敤 Windows 韜喚楠岃瘉"榪炴帴涓?SQL Server 鎿嶄綔姝ラ: 鍦ㄤ紒涓氱鐞嗗櫒涓? --鍙抽敭浣犵殑鏈嶅姟鍣ㄥ疄渚?灝辨槸閭d釜鏈夌豢鑹插浘鏍囩殑) --緙栬緫SQL Server娉ㄥ唽灞炴? --閫夋嫨"浣跨敤windows韜喚楠岃瘉"