锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品久久66,久久精品国产亚洲av高清漫画,亚洲激情视频图片http://www.tkk7.com/konhon/category/3018.html蹇樻帀閬庡幓錛屽睍鏈涙湭渚嗐傛壘鍥炶嚜鎴戯紝瓚呰秺鑷垜銆? <br> <b>閫冮伩涓嶄竴瀹氳翰鐨勮繃, 闈㈠涓嶄竴瀹氭渶闅捐繃, 瀛ゅ崟涓嶄竴瀹氫笉蹇箰, 寰楀埌涓嶄竴瀹氳兘闀夸箙, 澶卞幓涓嶄竴瀹氫笉鍐嶆嫢鏈? 鍙兘鍥犱負鏌愪釜鐞嗙敱鑰屼激蹇冮毦榪? 浣嗘垜鍗磋兘鎵句釜鐞嗙敱璁╄嚜宸卞揩涔?</b><br><p> <!-- Search Google --> <left> <form method="get" action="http://www.google.com/custom" target="google_window"> <table> <tr><td nowrap="nowrap" valign="top" align="left" height="32"> <a > <img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" align="middle"></img></a> <input type="text" name="q" size="31" maxlength="255" value=""></input> <input type="submit" name="sa" value="鎼滅儲"></input> <input type="hidden" name="client" value="pub-5408663347953425"></input> <input type="hidden" name="forid" value="1"></input> <input type="hidden" name="ie" value="UTF-8"></input> <input type="hidden" name="oe" value="UTF-8"></input> <input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;"></input> <input type="hidden" name="hl" value="zh-CN"></input> </td></tr></table> </form> </left> <!-- Search Google --> zh-cnTue, 27 Feb 2007 11:06:48 GMTTue, 27 Feb 2007 11:06:48 GMT60 鍙栨眽瀛楁嫾闊抽瀛楁瘝鐨勫瓨鍌ㄨ繃紼?http://www.tkk7.com/konhon/archive/2005/10/17/15718.htmlkonhon 浼樺崕konhon 浼樺崕Mon, 17 Oct 2005 07:44:00 GMThttp://www.tkk7.com/konhon/archive/2005/10/17/15718.htmlhttp://www.tkk7.com/konhon/comments/15718.htmlhttp://www.tkk7.com/konhon/archive/2005/10/17/15718.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/15718.htmlhttp://www.tkk7.com/konhon/services/trackbacks/15718.html 

Create  function fun_getPY
 (
    @str nvarchar(4000)
 )
returns nvarchar(4000)
as
begin

  declare @word nchar(1),@PY nvarchar(4000)

  set @PY=''

  while len(@str)>0
  begin
    set @word=left(@str,1)

    --濡傛灉闈炴眽瀛楀瓧絎︼紝榪斿洖鍘熷瓧絎?
    set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
               then ( 
                            select top 1 PY 
                            from 
                            ( 
                             select 'A' as PY,N'椹? as word
                             union all select 'B',N'綈?
                             union all select 'C',N'閷?
                     union all select 'D',N'櫚?
                     union all select 'E',N'妯?
                     union all select 'F',N'榘?
                     union all select 'G',N'鑵?
                     union all select 'H',N'澶?
                     union all select 'J',N'鏀?
                     union all select 'K',N'絀?
                     union all select 'L',N'楸?
                     union all select 'M',N'鏃'
                     union all select 'N',N'妗?
                     union all select 'O',N'婕?
                     union all select 'P',N'鏇?
                     union all select 'Q',N'鍥?
                     union all select 'R',N'槎?
                     union all select 'S',N'铚?
                     union all select 'T',N'綾?
                     union all select 'W',N'槎?
                     union all select 'X',N'閼?
                     union all select 'Y',N'闊?
                     union all select 'Z',N'鍜?
                      ) T 
                   where word>=@word collate Chinese_PRC_CS_AS_KS_WS 
                   order by PY ASC
                          ) 
                      else @word 
                 end)
    set @str=right(@str,len(@str)-1)
  end

  return @PY

end



konhon 浼樺崕 2005-10-17 15:44 鍙戣〃璇勮
]]>
瀵煎嚭鏁版嵁鍒癊xcel姒傝堪http://www.tkk7.com/konhon/archive/2005/10/17/15717.htmlkonhon 浼樺崕konhon 浼樺崕Mon, 17 Oct 2005 07:43:00 GMThttp://www.tkk7.com/konhon/archive/2005/10/17/15717.htmlhttp://www.tkk7.com/konhon/comments/15717.htmlhttp://www.tkk7.com/konhon/archive/2005/10/17/15717.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/15717.htmlhttp://www.tkk7.com/konhon/services/trackbacks/15717.html

This stored procedure can be used to insert the result set of the
particular select statement into Excel file (c:\ImportToExcel.xls,
by default).
You can pass the server name, user name, user password, the select
statement to execute, and the file name to store the results set,
as in the example below:

EXEC ExportToExcel @server = '.',
                   @uname = 'sa',
                   @QueryText = 'SELECT au_fname FROM pubs..authors',
                   @filename = 'c:\ImportToExcel.xls'

/*
Version: SQL Server 7.0/2000
Created by: Alexander Chigrik
- all about MS SQL
(SQL Server Articles, FAQ, Scripts, Tips and Test Exams).

This stored procedure can be used to insert the result set of the
particular select statement into Excel file (c:\ImportToExcel.xls,
by default).
You can pass the server name, user name, user password, the select
statement to execute, and the file name to store the results set,
as in the example below:

EXEC ExportToExcel @server = '.',
                   @uname = 'sa',
                   @QueryText = 'SELECT au_fname FROM pubs..authors',
                   @filename = 'c:\ImportToExcel.xls'
*/

IF OBJECT_ID('ExportToExcel') IS NOT NULL DROP PROC ExportToExcel
GO

CREATE PROCEDURE ExportToExcel (
  @server sysname = null,
  @uname sysname = null,
  @pwd sysname = null,
  @QueryText varchar(200) = null,
  @filename varchar(200) = 'c:\ImportToExcel.xls'
)
AS
DECLARE @SQLServer int,
        @QueryResults int,
        @CurrentResultSet int,
        @object int,
        @WorkBooks int,
        @WorkBook int,
        @Range int,
        @hr int,
        @Columns int,
        @Rows int,
        @indColumn int,
        @indRow int,
        @off_Column int,
        @off_Row int,
        @code_str varchar(100),
        @result_str varchar(255)

IF @QueryText IS NULL 
  BEGIN
    PRINT 'Set the query string'
    RETURN
  END

-- Sets the server to the local server
IF @server IS NULL SELECT @server = @@servername

-- Sets the username to the current user name
IF @uname IS NULL SELECT @uname = SYSTEM_USER

SET NOCOUNT ON

EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @SQLServer OUT
IF @hr <> 0
BEGIN
    PRINT 'error create SQLDMO.SQLServer'
    RETURN
END

--  Connect to the SQL Server
IF @pwd IS NULL
  BEGIN
    EXEC @hr = sp_OAMethod @SQLServer, 'Connect', null, @server, @uname
    IF @hr <> 0
       BEGIN
         PRINT 'error Connect'
         RETURN
       END
  END
ELSE
  BEGIN
    EXEC @hr = sp_OAMethod @SQLServer, 'Connect', null, @server, @uname, @pwd
    IF @hr <> 0
      BEGIN
        PRINT 'error Connect'
        RETURN
      END
  END

SELECT @result_str = 'ExecuteWithResults("' + @QueryText + '")'
EXEC @hr = sp_OAMethod @SQLServer, @result_str, @QueryResults OUT
IF @hr <> 0
BEGIN
    PRINT 'error with method ExecuteWithResults'
    RETURN
END

EXEC @hr = sp_OAMethod @QueryResults, 'CurrentResultSet', @CurrentResultSet OUT
IF @hr <> 0
BEGIN
    PRINT 'error get CurrentResultSet'
    RETURN
END

EXEC @hr = sp_OAMethod @QueryResults, 'Columns', @Columns OUT
IF @hr <> 0
BEGIN
    PRINT 'error get Columns'
    RETURN
END

EXEC @hr = sp_OAMethod @QueryResults, 'Rows', @Rows OUT
IF @hr <> 0
BEGIN
    PRINT 'error get Rows'
    RETURN
END

EXEC @hr = sp_OACreate 'Excel.Application', @object OUT
IF @hr <> 0
BEGIN
    PRINT 'error create Excel.Application'
    RETURN
END

EXEC @hr = sp_OAGetProperty @object, 'WorkBooks', @WorkBooks OUT
IF @hr <> 0
BEGIN
    PRINT 'error create WorkBooks'
    RETURN
END

EXEC @hr = sp_OAGetProperty @WorkBooks, 'Add', @WorkBook OUT
IF @hr <> 0
BEGIN
    PRINT 'error with method Add'
    RETURN
END

EXEC @hr = sp_OAGetProperty @object, 'Range("A1")', @Range OUT
IF @hr <> 0
BEGIN
    PRINT 'error create Range'
    RETURN
END

SELECT @indRow = 1
SELECT @off_Row = 0
SELECT @off_Column = 1

WHILE (@indRow <= @Rows)
BEGIN
SELECT @indColumn = 1

WHILE (@indColumn <= @Columns)
BEGIN

EXEC @hr = sp_OAMethod @QueryResults, 'GetColumnString', @result_str OUT, @indRow, @indColumn
IF @hr <> 0
BEGIN
    PRINT 'error get GetColumnString'
    RETURN
END

EXEC @hr = sp_OASetProperty @Range, 'value', @result_str
IF @hr <> 0
BEGIN
    PRINT 'error set value'
    RETURN
END

EXEC @hr = sp_OAGetProperty @Range, 'Offset', @Range OUT, @off_Row, @off_Column
IF @hr <> 0
BEGIN
    PRINT 'error get Offset'
    RETURN
END

SELECT @indColumn = @indColumn + 1

END

SELECT @indRow = @indRow + 1
SELECT @code_str = 'Range("A' + LTRIM(str(@indRow)) + '")'
EXEC @hr = sp_OAGetProperty @object, @code_str, @Range OUT
IF @hr <> 0
BEGIN
    PRINT 'error create Range'
    RETURN
END

END

SELECT @result_str = 'exec master..xp_cmdshell ''del ' + @filename + ''', no_output'
EXEC(@result_str)
SELECT @result_str = 'SaveAs("' + @filename + '")'
EXEC @hr = sp_OAMethod @WorkBook, @result_str
IF @hr <> 0
BEGIN
    PRINT 'error with method SaveAs'
    RETURN
END

EXEC @hr = sp_OAMethod @WorkBook, 'Close'
IF @hr <> 0
BEGIN
    PRINT 'error with method Close'
    RETURN
END

EXEC @hr = sp_OADestroy @object
IF @hr <> 0
BEGIN
    PRINT 'error destroy Excel.Application'
    RETURN
END

EXEC @hr = sp_OADestroy @SQLServer
IF @hr <> 0
BEGIN
    PRINT 'error destroy SQLDMO.SQLServer'
    RETURN
END
GO



konhon 浼樺崕 2005-10-17 15:43 鍙戣〃璇勮
]]>
SQLServer鍜孫racle甯哥敤鍑芥暟瀵規瘮http://www.tkk7.com/konhon/archive/2005/10/13/15447.htmlkonhon 浼樺崕konhon 浼樺崕Thu, 13 Oct 2005 12:14:00 GMThttp://www.tkk7.com/konhon/archive/2005/10/13/15447.htmlhttp://www.tkk7.com/konhon/comments/15447.htmlhttp://www.tkk7.com/konhon/archive/2005/10/13/15447.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/15447.htmlhttp://www.tkk7.com/konhon/services/trackbacks/15447.html鏁板鍑芥暟 
銆銆1.緇濆鍊?nbsp;
銆銆S:select abs(-1) value 
銆銆O:select abs(-1) value from dual 

銆銆2.鍙栨暣(澶? 
銆銆S:select ceiling(-1.001) value 
銆銆O:select ceil(-1.001) value from dual 

銆銆3.鍙栨暣錛堝皬錛?nbsp;
銆銆S:select floor(-1.001) value 
銆銆O:select floor(-1.001) value from dual 

銆銆4.鍙栨暣錛堟埅鍙栵級 
銆銆S:select cast(-1.002 as int) value 
銆銆O:select trunc(-1.002) value from dual 

銆銆5.鍥涜垗浜斿叆 
銆銆S:select round(1.23456,4) value 1.23460 
銆銆O:select round(1.23456,4) value from dual 1.2346 

銆銆6.e涓哄簳鐨勫箓 
銆銆S:select Exp(1) value 2.7182818284590451 
銆銆O:select Exp(1) value from dual 2.71828182 

銆銆7.鍙杄涓哄簳鐨勫鏁?nbsp;
銆銆S:select log(2.7182818284590451) value 1 
銆銆O:select ln(2.7182818284590451) value from dual; 1 

銆銆8.鍙?0涓哄簳瀵規暟 
銆銆S:select log10(10) value 1 
銆銆O:select log(10,10) value from dual; 1 

銆銆9.鍙栧鉤鏂?nbsp;
銆銆S:select SQUARE(4) value 16 
銆銆O:select power(4,2) value from dual 16 

銆銆10.鍙栧鉤鏂規牴 
銆銆S:select SQRT(4) value 2 
銆銆O:select SQRT(4) value from dual 2 

銆銆11.姹備換鎰忔暟涓哄簳鐨勫箓 
銆銆S:select power(3,4) value 81 
銆銆O:select power(3,4) value from dual 81 

銆銆12.鍙栭殢鏈烘暟 
銆銆S:select rand() value 
銆銆O:select sys.dbms_random.value(0,1) value from dual; 

銆銆13.鍙栫鍙?nbsp;
銆銆S:select sign(-8) value -1 
銆銆O:select sign(-8) value from dual -1 

銆銆14.鍦嗗懆鐜?nbsp;
銆銆S:SELECT PI() value 3.1415926535897931 
銆銆O:涓嶇煡閬?nbsp;

銆銆15.sin,cos,tan 鍙傛暟閮戒互寮у害涓哄崟浣?nbsp;
銆銆渚嬪錛歴elect sin(PI()/2) value 寰楀埌1錛圫QLServer錛?nbsp;

銆銆16.Asin,Acos,Atan,Atan2 榪斿洖寮у害 

銆銆17.寮у害瑙掑害浜掓崲(SQLServer錛孫racle涓嶇煡閬? 
銆銆DEGREES錛氬姬搴?銆夎搴?nbsp;
銆銆RADIANS錛氳搴?銆夊姬搴?nbsp;

鏁板奸棿姣旇緝 

銆銆18. 姹傞泦鍚堟渶澶у?nbsp;
銆銆S:select max(value) value from 
銆銆(select 1 value 
銆銆union 
銆銆select -2 value 
銆銆union 
銆銆select 4 value 
銆銆union 
銆銆select 3 value)a 

銆銆O:select greatest(1,-2,4,3) value from dual 

銆銆19. 姹傞泦鍚堟渶灝忓?nbsp;
銆銆S:select min(value) value from 
銆銆(select 1 value 
銆銆union 
銆銆select -2 value 
銆銆union 
銆銆select 4 value 
銆銆union 
銆銆select 3 value)a 

銆銆O:select least(1,-2,4,3) value from dual 

銆銆20.濡備綍澶勭悊null鍊?F2涓殑null浠?0浠f浛) 
銆銆S:select F1,IsNull(F2,10) value from Tbl 
銆銆O:select F1,nvl(F2,10) value from Tbl 

銆銆21.姹傚瓧絎﹀簭鍙?nbsp;
銆銆S:select ascii('a') value 
銆銆O:select ascii('a') value from dual 

銆銆22.浠庡簭鍙鋒眰瀛楃 
銆銆S:select char(97) value 
銆銆O:select chr(97) value from dual 

銆銆23.榪炴帴 
銆銆S:select '11'+'22'+'33' value 
銆銆O:select CONCAT('11','22')銆銆33 value from dual 

23.瀛愪覆浣嶇疆 --榪斿洖3 
銆銆S:select CHARINDEX('s','sdsq',2) value 
銆銆O:select INSTR('sdsq','s',2) value from dual 

銆銆23.妯$硦瀛愪覆鐨勪綅緗?nbsp;--榪斿洖2,鍙傛暟鍘繪帀涓棿%鍒欒繑鍥? 
銆銆S:select patindex('%d%q%','sdsfasdqe') value 
銆銆O:oracle娌″彂鐜幫紝浣嗘槸instr鍙互閫氳繃絎洓涓弬鏁版帶鍒跺嚭鐜版鏁?nbsp;
銆銆select INSTR('sdsfasdqe','sd',1,2) value from dual 榪斿洖6 

銆銆24.姹傚瓙涓?nbsp;
銆銆S:select substring('abcd',2,2) value 
銆銆O:select substr('abcd',2,2) value from dual 

銆銆25.瀛愪覆浠f浛 榪斿洖aijklmnef 
銆銆S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value 
銆銆O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual 

銆銆26.瀛愪覆鍏ㄩ儴鏇挎崲 
銆銆S:娌″彂鐜?nbsp;
銆銆O:select Translate('fasdbfasegas','fa','鎴? ) value from dual 

銆銆27.闀垮害 
銆銆S:len,datalength 
銆銆O:length 

銆銆28.澶у皬鍐欒漿鎹?nbsp;lower,upper 

銆銆29.鍗曡瘝棣栧瓧姣嶅ぇ鍐?nbsp;
銆銆S:娌″彂鐜?nbsp;
銆銆O:select INITCAP('abcd dsaf df') value from dual 

銆銆30.宸﹁ˉ絀烘牸錛圠PAD鐨勭涓涓弬鏁頒負絀烘牸鍒欏悓space鍑芥暟錛?nbsp;
銆銆S:select space(10)+'abcd' value 
銆銆O:select LPAD('abcd',14) value from dual 

銆銆31.鍙寵ˉ絀烘牸錛圧PAD鐨勭涓涓弬鏁頒負絀烘牸鍒欏悓space鍑芥暟錛?nbsp;
銆銆S:select 'abcd'+space(10) value 
銆銆O:select RPAD('abcd',14) value from dual 

銆銆32.鍒犻櫎絀烘牸 
銆銆S:ltrim,rtrim 
銆銆O:ltrim,rtrim,trim 

銆銆33. 閲嶅瀛楃涓?nbsp;
銆銆S:select REPLICATE('abcd',2) value 
銆銆O:娌″彂鐜?nbsp;

銆銆34.鍙戦煶鐩鎬技鎬ф瘮杈?榪欎袱涓崟璇嶈繑鍥炲間竴鏍鳳紝鍙戦煶鐩稿悓) 
銆銆S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') 
銆銆O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual 
銆銆SQLServer涓敤SELECT DIFFERENCE('Smithers', 'Smythers') 姣旇緝soundex鐨勫樊 
銆銆榪斿洖0-4錛?涓哄悓闊籌紝1鏈楂?nbsp;

鏃ユ湡鍑芥暟 
銆銆35.緋葷粺鏃墮棿 
銆銆S:select getdate() value 
銆銆O:select sysdate value from dual 

銆銆36.鍓嶅悗鍑犳棩 
銆銆鐩存帴涓庢暣鏁扮浉鍔犲噺 

銆銆37.姹傛棩鏈?nbsp;
銆銆S:select convert(char(10),getdate(),20) value 
銆銆O:select trunc(sysdate) value from dual 
銆銆select to_char(sysdate,'yyyy-mm-dd') value from dual 

銆銆38.姹傛椂闂?nbsp;
銆銆S:select convert(char(8),getdate(),108) value 
銆銆O:select to_char(sysdate,'hh24:mm:ss') value from dual 

39.鍙栨棩鏈熸椂闂寸殑鍏朵粬閮ㄥ垎 
銆銆S:DATEPART 鍜?nbsp;DATENAME 鍑芥暟 錛堢涓涓弬鏁板喅瀹氾級 
銆銆O:to_char鍑芥暟 絎簩涓弬鏁板喅瀹?nbsp;

銆銆鍙傛暟---------------------------------涓嬭〃闇瑕佽ˉ鍏?nbsp;
銆銆year yy, yyyy 
銆銆quarter qq, q (瀛e害) 
銆銆month mm, m (m O鏃犳晥) 
銆銆dayofyear dy, y (O琛ㄦ槦鏈? 
銆銆day dd, d (d O鏃犳晥) 
銆銆week wk, ww (wk O鏃犳晥) 
銆銆weekday dw (O涓嶆竻妤? 
銆銆Hour hh,hh12,hh24 (hh12,hh24 S鏃犳晥) 
銆銆minute mi, n (n O鏃犳晥) 
銆銆second ss, s (s O鏃犳晥) 
銆銆millisecond ms (O鏃犳晥) 
銆銆---------------------------------------------- 

銆銆40.褰撴湀鏈鍚庝竴澶?nbsp;
銆銆S:涓嶇煡閬?nbsp;
銆銆O:select LAST_DAY(sysdate) value from dual 

銆銆41.鏈槦鏈熺殑鏌愪竴澶╋紙姣斿鏄熸湡鏃ワ級 
銆銆S:涓嶇煡閬?nbsp;
銆銆O:SELECT Next_day(sysdate,7) vaule FROM DUAL; 

銆銆42.瀛楃涓茶漿鏃墮棿 
銆銆S:鍙互鐩存帴杞垨鑰卻elect cast('2004-09-08'as datetime) value 
銆銆O:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL; 

銆銆43.姹備袱鏃ユ湡鏌愪竴閮ㄥ垎鐨勫樊錛堟瘮濡傜錛?nbsp;
銆銆S:select datediff(ss,getdate(),getdate()+12.3) value 
銆銆O:鐩存帴鐢ㄤ袱涓棩鏈熺浉鍑忥紙姣斿d1-d2=12.3錛?nbsp;
銆銆SELECT (d1-d2)*24*60*60 vaule FROM DUAL; 

銆銆44.鏍規嵁宸兼眰鏂扮殑鏃ユ湡錛堟瘮濡傚垎閽燂級 
銆銆S:select dateadd(mi,8,getdate()) value 
銆銆O:SELECT sysdate+8/60/24 vaule FROM DUAL; 

銆銆45.姹備笉鍚屾椂鍖烘椂闂?nbsp;
銆銆S:涓嶇煡閬?nbsp;
銆銆O:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL; 

銆銆-----鏃跺尯鍙傛暟,鍖椾含鍦ㄤ笢8鍖哄簲璇ユ槸Ydt------- 
銆銆AST ADT 澶цタ媧嬫爣鍑嗘椂闂?nbsp;
銆銆BST BDT 鐧戒護嫻鋒爣鍑嗘椂闂?nbsp;
銆銆CST CDT 涓儴鏍囧噯鏃墮棿 
銆銆EST EDT 涓滈儴鏍囧噯鏃墮棿 
銆銆GMT 鏍兼灄灝兼不鏍囧噯鏃墮棿 
銆銆HST HDT 闃挎媺鏂姞?澶忓▉澶鋒爣鍑嗘椂闂?nbsp;
銆銆MST MDT 灞卞尯鏍囧噯鏃墮棿 
銆銆NST 綰借姮鍏版爣鍑嗘椂闂?nbsp;
銆銆PST PDT 澶鉤媧嬫爣鍑嗘椂闂?nbsp;
銆銆YST YDT YUKON鏍囧噯鏃墮棿


konhon 浼樺崕 2005-10-13 20:14 鍙戣〃璇勮
]]>
KILL SQL Server涓殑媧誨姩榪涚▼http://www.tkk7.com/konhon/archive/2005/09/22/13767.htmlkonhon 浼樺崕konhon 浼樺崕Thu, 22 Sep 2005 11:33:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/22/13767.htmlhttp://www.tkk7.com/konhon/comments/13767.htmlhttp://www.tkk7.com/konhon/archive/2005/09/22/13767.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/13767.htmlhttp://www.tkk7.com/konhon/services/trackbacks/13767.htmluse聽 master
go
create聽 proc聽 killspid聽 (@dbname聽 varchar(20))聽
as聽
begin聽
declare聽 @sql聽 nvarchar(500),@temp varchar(1000)
declare聽 @spid聽 int聽
set聽 @sql='declare聽 getspid聽 cursor聽 for聽聽聽
select聽 spid聽 from聽 sysprocesses聽 where聽 dbid=db_id('''+@dbname+''')
exec聽 (@sql)聽
open聽 getspid聽
fetch聽 next聽 from聽 getspid聽 into聽 @spid聽
while聽 @@fetch_status聽 <聽 >-1聽
begin聽
聽 set @temp='kill聽 '+rtrim(@spid)
聽 exec(@temp)
fetch聽 next聽 from聽 getspid聽 into聽 @spid聽
end聽
close聽 getspid聽
deallocate聽 getspid聽
end聽

--鐢ㄦ硶聽
use聽 master聽
exec聽 killspid聽 '鏁版嵁搴撳悕'



konhon 浼樺崕 2005-09-22 19:33 鍙戣〃璇勮
]]>
澶嶅埗琛ㄧ粨鏋勭殑閫氱敤瀛樺偍榪囩▼http://www.tkk7.com/konhon/archive/2005/09/17/13196.htmlkonhon 浼樺崕konhon 浼樺崕Sat, 17 Sep 2005 00:42:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/17/13196.htmlhttp://www.tkk7.com/konhon/comments/13196.htmlhttp://www.tkk7.com/konhon/archive/2005/09/17/13196.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/13196.htmlhttp://www.tkk7.com/konhon/services/trackbacks/13196.html澶嶅埗琛ㄧ粨鏋勭殑閫氱敤瀛樺偍榪囩▼

-- Transfer瀵硅薄鐨勯噸瑕佸睘鎬?

-- 1. 灞炴?

灞炴у悕                            綾誨瀷                鎻忚堪
--------------------------------- ------------------- --------------------
CopyAllDefaults                Boolean    鎵鏈夐粯璁ゅ?BR>CopyAllObjects                 Boolean    鎵鏈夊璞?BR>CopyAllRules                   Boolean    鎵鏈夎鍒?BR>CopyAllStoredProcedures        Boolean    鎵鏈夊瓨鍌ㄨ繃紼?BR>CopyAllTables                  Boolean    鎵鏈夎〃
CopyAllTriggers                Boolean    鎵鏈夎Е鍙戝櫒
CopyAllUserDefinedDatatypes    Boolean    鎵鏈夌敤鎴瘋嚜瀹氫箟綾誨瀷
CopyAllViews                   Boolean    鎵鏈夎鍥?BR>CopyData                       Boolean    鎵鏈夋暟鎹?BR>DestDatabase                   String     鐩爣瀵硅薄鏁版嵁搴?BR>DestLogin                      String     鐩爣鏁版嵁搴撶櫥闄嗙敤鎴峰悕
DestPassword                   String     鐩爣鏁版嵁搴撶櫥闄嗗瘑鐮?BR>DestServer                     String     鐩爣鏈嶅姟鍣?BR>DestUseTrustedConnection       Boolean    鐢ㄦ埛淇′換榪炴帴
DropDestObjectsFirst           Boolean    鏄惁鍏堝垹闄ょ洰鏍囧璞?BR>IncludeDependencies            Boolean    鏄惁鍖呭惈渚濋潬瀵硅薄
ScriptType                     Boolean    鑴氭湰綾誨瀷

-- 2. 閲嶈鏂規硶: 

鏂規硶鍚嶇О                    鍔熻兘鎻忚堪
--------------------------- --------------------------
AddObject                   澧炲姞瀵硅薄
AddObjectByName             閫氳繃瀵硅薄鍚嶇О澧炲姞瀵硅薄

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P_CopyDB]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_CopyDB]
GO

/*-- 鍦?nbsp;SQLServer 涓嬌鐢⊿QLDMO.Transfer 瀹炵幇鏁版嵁榪佺Щ
    瀛樺偍榪囩▼瀹炵幇婧愭暟鎹簱鍒扮洰鏍囨暟鎹簱鐨勫璞″拰鏁版嵁鐨勫鍒?BR>    瑕佹眰婧愭暟鎹簱鍜岀洰鏍囨暟鎹簱鍦ㄥ悓涓鏈嶅姟鍣?BR>    濡傛灉鏄瀹炵幇涓嶅悓鏈嶅姟鍣ㄤ箣闂寸殑澶嶅埗錛屽垯闇瑕佸鍔犻獙璇佷俊鎭?BR>--閭瑰緩 2005.07(寮曠敤璇蜂繚鐣欐淇℃伅)--*/

/*--璋冪敤紺轟緥

    CREATE DATABASE test
    EXEC P_CopyDB @Source_DB='northwind',@Des_DB='test'
    DROP DATABASE test
--*/
CREATE PROCEDURE P_CopyDB     
@Des_DB      sysname,           --鐩爣鏁版嵁搴?BR>@Obj_Type    nvarchar(4000)=N'',--澶嶅埗鐨勫璞$被鍨嬶紝鍙互鏄笅鍒楀瓧絎︿覆鍒楄〃錛?BR>                                -- O 鎵鏈夊璞★紝D 榛樿鍊鹼紝R 瑙勫垯錛孭 瀛樺偍榪囩▼
                                -- T 琛紝TR 瑙﹀彂鍣紝DT 鐢ㄦ埛瀹氫箟鏁版嵁綾誨瀷
                                -- V 瑙嗗浘錛孌ATA 鏁版嵁錛孌EL 鍒犻櫎鐩爣瀵硅薄
@Source_DB   sysname=N'',       --婧愭暟鎹簱
@ServerName  sysname=N'',       --鏈嶅姟鍣ㄥ悕
@UserName    sysname=N'',       --鐢ㄦ埛鍚嶏紝涓嶆寚瀹氬垯琛ㄧず浣跨敤 Windows 韜喚鐧誨綍
@pwd         sysname=N''        --瀵嗙爜 
AS
SET NOCOUNT ON
DECLARE @srvid int,@Dbid int,@S_dbid int,@D_dbid int,@TransferID int,
    @err int,@src varchar(255), @desc varchar(255)

IF ISNULL(@ServerName,N'')=N'' SET @ServerName=@@SERVERNAME
IF ISNULL(@Source_DB,N'')=N'' SET @Source_DB=DB_NAME()

--鍒涘緩sqldmo瀵硅薄路
EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUT
IF @err<>0 GOTO lb_Err

--榪炴帴鏈嶅姟鍣?BR>IF ISNULL(@UserName,N'')=N'' --浣跨敤 Windows 韜喚鐧誨綍
BEGIN
    EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1
    IF @err<>0 GOTO lb_Err

    EXEC @err=sp_oamethod @srvid,'connect',NULL,@servername
END
ELSE
    EXEC @err=sp_oamethod @srvid,'connect',NULL,@servername,@UserName,@pwd

IF @err<>0 GOTO lb_Err

--鑾峰彇鏁版嵁搴撻泦
EXEC @err=sp_oagetproperty @srvid,'databases',@Dbid OUT
IF @err<>0 GOTO lb_Err

--閫夋嫨婧愭暟鎹簱    
EXEC @err=sp_oamethod @Dbid,'item',@S_dbid OUT,@Source_DB
IF @err<>0 GOTO lb_Err

--閫夋嫨鐩爣鏁版嵁搴?nbsp;   
EXEC @err=sp_oamethod @Dbid,'item',@D_dbid OUT,@Des_DB
IF @err<>0 GOTO lb_Err

--璁劇疆澶嶅埗鐨勫璞?BR>EXEC @err=sp_oacreate 'SQLDMO.Transfer',@TransferID OUT
IF @err<>0 GOTO lb_Err

--璁劇疆鐩爣鏈嶅姟鍣ㄤ俊鎭?BR>EXEC @err=sp_oasetproperty  @TransferID,'DestServer',@ServerName
IF @err<>0 GOTO lb_Err

  --璁劇疆榪炴帴鐢ㄦ埛
IF ISNULL(@UserName,N'')=N'' --浣跨敤 Windows 韜喚鐧誨綍
BEGIN
    EXEC @err=sp_oasetproperty @TransferID,'DestUseTrustedConnection',1
    IF @err<>0 GOTO lb_Err
END
ELSE
BEGIN
    EXEC @err=sp_oasetproperty @TransferID,'DestLogin',@UserName
    IF @err<>0 GOTO lb_Err

    EXEC @err=sp_oasetproperty @TransferID,'DestPassword',@pwd
    IF @err<>0 GOTO lb_Err
END

  --璁劇疆澶嶅埗瀵硅薄淇℃伅
EXEC @err=sp_oasetproperty @TransferID,'DestDatabase',@Des_DB
IF @err<>0 GOTO lb_Err

DECLARE tb CURSOR FAST_FORWARD LOCAL
FOR
SELECT Name FROM(
    SELECT KeyWord=N',D,',   Name=N'CopyAllDefaults' UNION ALL
    SELECT KeyWord=N',O,',   Name=N'CopyAllObjects' UNION ALL
    SELECT KeyWord=N',R,',   Name=N'CopyAllRules' UNION ALL
    SELECT KeyWord=N',P,',   Name=N'CopyAllStoredProcedures' UNION ALL
    SELECT KeyWord=N',T,',   Name=N'CopyAllTables' UNION ALL
    SELECT KeyWord=N',TR,',  Name=N'CopyAllTriggers' UNION ALL
    SELECT KeyWord=N',DT,',  Name=N'CopyAllUserDefinedDatatypes' UNION ALL
    SELECT KeyWord=N',V,',   Name=N'CopyAllViews' UNION ALL
    SELECT KeyWord=N',DATA,',Name=N'CopyData' UNION ALL
    SELECT KeyWord=N',DEL,', Name=N'DropDestObjectsFirst'
)A WHERE CHARINDEX(KeyWord,
        CASE WHEN ISNULL(@Obj_Type,N'')='' THEN ',O,DATA,' ELSE @Obj_Type END)>0
OPEN tb
FETCH tb INTO @src
WHILE @@FETCH_STATUS=0
BEGIN
    EXEC @err=sp_oasetproperty @TransferID,@src,1
    IF @err<>0 GOTO lb_Err
    FETCH tb INTO @src
END
CLOSE tb
DEALLOCATE tb

--澶嶅埗瀵硅薄
EXEC @err=sp_oamethod @S_dbid,'Transfer',null,@TransferID
IF @err<>0 GOTO lb_Err

--緇撴潫
SET @err=0
GOTO lb_Exit

--閿欒澶勭悊
lb_Err:
    EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT 
    RAISERROR(N'閿欒緙栧彿 %#x, 閿欒婧?nbsp;"%s", 閿欒鎻忚堪 "%s"',16,1,@err,@src,@desc)
    RETURN -1

lb_Exit:
    EXEC sp_OADestroy @Dbid  
    EXEC sp_OADestroy @srvid 
    EXEC sp_OADestroy @TransferID 
    RETURN @err
GO



konhon 浼樺崕 2005-09-17 08:42 鍙戣〃璇勮
]]>
瀵煎嚭鏁版嵁鍒癊xcel姒傝堪 http://www.tkk7.com/konhon/archive/2005/09/17/13195.htmlkonhon 浼樺崕konhon 浼樺崕Sat, 17 Sep 2005 00:41:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/17/13195.htmlhttp://www.tkk7.com/konhon/comments/13195.htmlhttp://www.tkk7.com/konhon/archive/2005/09/17/13195.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/13195.htmlhttp://www.tkk7.com/konhon/services/trackbacks/13195.html 

This stored procedure can be used to insert the result set of the
particular select statement into Excel file (c:\ImportToExcel.xls,
by default).
You can pass the server name, user name, user password, the select
statement to execute, and the file name to store the results set,
as in the example below:

EXEC ExportToExcel @server = '.',
                   @uname = 'sa',
                   @QueryText = 'SELECT au_fname FROM pubs..authors',
                   @filename = 'c:\ImportToExcel.xls'

/*
Version: SQL Server 7.0/2000
Created by: Alexander Chigrik
- all about MS SQL
(SQL Server Articles, FAQ, Scripts, Tips and Test Exams).

This stored procedure can be used to insert the result set of the
particular select statement into Excel file (c:\ImportToExcel.xls,
by default).
You can pass the server name, user name, user password, the select
statement to execute, and the file name to store the results set,
as in the example below:

EXEC ExportToExcel @server = '.',
                   @uname = 'sa',
                   @QueryText = 'SELECT au_fname FROM pubs..authors',
                   @filename = 'c:\ImportToExcel.xls'
*/

IF OBJECT_ID('ExportToExcel') IS NOT NULL DROP PROC ExportToExcel
GO

CREATE PROCEDURE ExportToExcel (
  @server sysname = null,
  @uname sysname = null,
  @pwd sysname = null,
  @QueryText varchar(200) = null,
  @filename varchar(200) = 'c:\ImportToExcel.xls'
)
AS
DECLARE @SQLServer int,
        @QueryResults int,
        @CurrentResultSet int,
        @object int,
        @WorkBooks int,
        @WorkBook int,
        @Range int,
        @hr int,
        @Columns int,
        @Rows int,
        @indColumn int,
        @indRow int,
        @off_Column int,
        @off_Row int,
        @code_str varchar(100),
        @result_str varchar(255)

IF @QueryText IS NULL 
  BEGIN
    PRINT 'Set the query string'
    RETURN
  END

-- Sets the server to the local server
IF @server IS NULL SELECT @server = @@servername

-- Sets the username to the current user name
IF @uname IS NULL SELECT @uname = SYSTEM_USER

SET NOCOUNT ON

EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @SQLServer OUT
IF @hr <> 0
BEGIN
    PRINT 'error create SQLDMO.SQLServer'
    RETURN
END

--  Connect to the SQL Server
IF @pwd IS NULL
  BEGIN
    EXEC @hr = sp_OAMethod @SQLServer, 'Connect', null, @server, @uname
    IF @hr <> 0
       BEGIN
         PRINT 'error Connect'
         RETURN
       END
  END
ELSE
  BEGIN
    EXEC @hr = sp_OAMethod @SQLServer, 'Connect', null, @server, @uname, @pwd
    IF @hr <> 0
      BEGIN
        PRINT 'error Connect'
        RETURN
      END
  END

SELECT @result_str = 'ExecuteWithResults("' + @QueryText + '")'
EXEC @hr = sp_OAMethod @SQLServer, @result_str, @QueryResults OUT
IF @hr <> 0
BEGIN
    PRINT 'error with method ExecuteWithResults'
    RETURN
END

EXEC @hr = sp_OAMethod @QueryResults, 'CurrentResultSet', @CurrentResultSet OUT
IF @hr <> 0
BEGIN
    PRINT 'error get CurrentResultSet'
    RETURN
END

EXEC @hr = sp_OAMethod @QueryResults, 'Columns', @Columns OUT
IF @hr <> 0
BEGIN
    PRINT 'error get Columns'
    RETURN
END

EXEC @hr = sp_OAMethod @QueryResults, 'Rows', @Rows OUT
IF @hr <> 0
BEGIN
    PRINT 'error get Rows'
    RETURN
END

EXEC @hr = sp_OACreate 'Excel.Application', @object OUT
IF @hr <> 0
BEGIN
    PRINT 'error create Excel.Application'
    RETURN
END

EXEC @hr = sp_OAGetProperty @object, 'WorkBooks', @WorkBooks OUT
IF @hr <> 0
BEGIN
    PRINT 'error create WorkBooks'
    RETURN
END

EXEC @hr = sp_OAGetProperty @WorkBooks, 'Add', @WorkBook OUT
IF @hr <> 0
BEGIN
    PRINT 'error with method Add'
    RETURN
END

EXEC @hr = sp_OAGetProperty @object, 'Range("A1")', @Range OUT
IF @hr <> 0
BEGIN
    PRINT 'error create Range'
    RETURN
END

SELECT @indRow = 1
SELECT @off_Row = 0
SELECT @off_Column = 1

WHILE (@indRow <= @Rows)
BEGIN
SELECT @indColumn = 1

WHILE (@indColumn <= @Columns)
BEGIN

EXEC @hr = sp_OAMethod @QueryResults, 'GetColumnString', @result_str OUT, @indRow, @indColumn
IF @hr <> 0
BEGIN
    PRINT 'error get GetColumnString'
    RETURN
END

EXEC @hr = sp_OASetProperty @Range, 'value', @result_str
IF @hr <> 0
BEGIN
    PRINT 'error set value'
    RETURN
END

EXEC @hr = sp_OAGetProperty @Range, 'Offset', @Range OUT, @off_Row, @off_Column
IF @hr <> 0
BEGIN
    PRINT 'error get Offset'
    RETURN
END

SELECT @indColumn = @indColumn + 1

END

SELECT @indRow = @indRow + 1
SELECT @code_str = 'Range("A' + LTRIM(str(@indRow)) + '")'
EXEC @hr = sp_OAGetProperty @object, @code_str, @Range OUT
IF @hr <> 0
BEGIN
    PRINT 'error create Range'
    RETURN
END

END

SELECT @result_str = 'exec master..xp_cmdshell ''del ' + @filename + ''', no_output'
EXEC(@result_str)
SELECT @result_str = 'SaveAs("' + @filename + '")'
EXEC @hr = sp_OAMethod @WorkBook, @result_str
IF @hr <> 0
BEGIN
    PRINT 'error with method SaveAs'
    RETURN
END

EXEC @hr = sp_OAMethod @WorkBook, 'Close'
IF @hr <> 0
BEGIN
    PRINT 'error with method Close'
    RETURN
END

EXEC @hr = sp_OADestroy @object
IF @hr <> 0
BEGIN
    PRINT 'error destroy Excel.Application'
    RETURN
END

EXEC @hr = sp_OADestroy @SQLServer
IF @hr <> 0
BEGIN
    PRINT 'error destroy SQLDMO.SQLServer'
    RETURN
END
GO



konhon 浼樺崕 2005-09-17 08:41 鍙戣〃璇勮
]]>
F_BomListhttp://www.tkk7.com/konhon/archive/2005/09/08/12457.htmlkonhon 浼樺崕konhon 浼樺崕Thu, 08 Sep 2005 11:09:00 GMThttp://www.tkk7.com/konhon/archive/2005/09/08/12457.htmlhttp://www.tkk7.com/konhon/comments/12457.htmlhttp://www.tkk7.com/konhon/archive/2005/09/08/12457.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/12457.htmlhttp://www.tkk7.com/konhon/services/trackbacks/12457.html// 涓鍊嬬畻鐗╂枡璦堝妰鐨勫瓨鍎查亷紼?BR>CREATE FUNCTION DBO.F_BomList
(
      @PPartNo NVARCHAR(20),
      @PQuantity INT = 1,
      @PType BIT = 0
)
RETURNS @BomList TABLE(
   PartNo NVARCHAR(20),
   FUsage FLOAT,
   Raw_ID INT)
AS 
BEGIN
     DECLARE @BomListTmp TABLE(
           CPartNo NVARCHAR(20),
           PartNo NVARCHAR(20),
           FUsage FLOAT,
           _Level INT)
      --@Lev鏄堡鐨勫畾緹?BR>     DECLARE @LLevel INT, @LSample INT
     SET @LLevel  = 1
     SELECT @LSample = ISNULL(Sample, 1) FROM Bom WHERE CPartNo = @PPartNo
     IF @LSample = 0
          SET @LSample = 1
     --鍏堝彇@PPartNo鐨勭涓灞ゆ暩鎹埌#Temp
     INSERT INTO @BomListTmp (CPartNo, PartNo, FUsage, _Level)
                     SELECT CPartNo, CPartNo, 1, @LLevel FROM Bom WHERE CPartNo = @PPartNo
     --浠ュ驚鐠版柟寮忓彇寰楁墍鏈夌殑涓嬪堡鍏冧歡娓呭柈鍒?Temp
     WHILE EXISTS(SELECT CPartNo FROM @BomListTmp WHERE _Level = @LLevel)
     BEGIN
           SET @LLevel = @LLevel + 1
           INSERT INTO @BomListTmp (CPartNo, PartNo, FUsage, _Level)
                           SELECT a.CPartNo, a.PartNo,
                           CASE WHEN @LLevel = 2 THEN  a.FUsage * b.FUsage / @LSample ELSE a.FUsage * b.FUsage END, @LLevel
                           FROM BomDtl a, (SELECT PartNo, FUsage FROM @BomListTmp WHERE _Level + 1= @LLevel) b
                           WHERE a.CPartNo = b.PartNo
     END
     -- 璦堢畻綹介噺
     INSERT INTO @BomList(PartNo, FUsage, Raw_ID)
            SELECT PartNo, SUM(FUsage) * @PQuantity FUsage, 0 FROM @BomListTmp WHERE _Level <> 1
            GROUP BY PartNo
     IF @PType = 0
           -- 妯欒瓨闈炲師鏉愭枡
          UPDATE @BomList SET Raw_ID = 1
                WHERE PartNo IN (SELECT DISTINCT CPartNo FROM BomDtl)
     RETURN
End

 



konhon 浼樺崕 2005-09-08 19:09 鍙戣〃璇勮
]]>
鍒犻櫎閲嶅璁板綍鐨勬柟娉?/title><link>http://www.tkk7.com/konhon/archive/2005/08/25/11066.html</link><dc:creator>konhon 浼樺崕</dc:creator><author>konhon 浼樺崕</author><pubDate>Thu, 25 Aug 2005 07:40:00 GMT</pubDate><guid>http://www.tkk7.com/konhon/archive/2005/08/25/11066.html</guid><wfw:comment>http://www.tkk7.com/konhon/comments/11066.html</wfw:comment><comments>http://www.tkk7.com/konhon/archive/2005/08/25/11066.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/konhon/comments/commentRss/11066.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/konhon/services/trackbacks/11066.html</trackback:ping><description><![CDATA[     鎽樿:   瀛︿範sql鏈変竴孌墊椂闂翠簡錛屽彂鐜板湪鎴戝緩浜嗕竴涓敤鏉ユ祴璇曠殑琛紙娌℃湁寤虹儲寮曪級涓嚭鐜頒簡璁稿鐨勯噸澶嶈褰曘傚悗鏉ユ葷粨浜嗕竴浜涘垹闄ら噸澶嶈褰曠殑鏂規硶錛屽湪Oracle涓紝鍙互閫氳繃鍞竴rowid瀹炵幇鍒犻櫎閲嶅璁板綍錛涜繕鍙互寤轟復鏃惰〃鏉ュ疄鐜?..榪欎釜鍙彁鍒板叾涓殑鍑犵綆鍗曞疄鐢ㄧ殑鏂規硶錛屽笇鏈涘彲浠ュ拰澶у鍒嗕韓錛堜互琛╡mployee涓轟緥錛夈? SQL> desc employee  Name&nb...  <a href='http://www.tkk7.com/konhon/archive/2005/08/25/11066.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/konhon/aggbug/11066.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/konhon/" target="_blank">konhon 浼樺崕</a> 2005-08-25 15:40 <a href="http://www.tkk7.com/konhon/archive/2005/08/25/11066.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎵歸噺淇敼瀛楁鐨勯鍨?SQL Server)http://www.tkk7.com/konhon/archive/2005/08/03/9125.htmlkonhon 浼樺崕konhon 浼樺崕Wed, 03 Aug 2005 06:36:00 GMThttp://www.tkk7.com/konhon/archive/2005/08/03/9125.htmlhttp://www.tkk7.com/konhon/comments/9125.htmlhttp://www.tkk7.com/konhon/archive/2005/08/03/9125.html#Feedback0http://www.tkk7.com/konhon/comments/commentRss/9125.htmlhttp://www.tkk7.com/konhon/services/trackbacks/9125.html浠婂ぉ涓婂崍鍥犲伐浣滈渶瑕? 瀵簡涓鍊嬪湪SQL Server涓壒閲忎慨鏀瑰瓧孌甸鍨嬬殑灝忕▼搴? 鍔熻兘涓嶆槸寰堝畬鍠? 灝氭湭鑰冩叜瀛楁鐨勯粯瑾嶅?浣嗚┎紼嬪簭娑夊強鍒頒簡淇敼涓婚嵉鐨勫瓧孌甸鍨? 淇敼鏈夐粯瑾嶅肩殑瀛楁璺熶慨鏀逛富閸靛瓧孌電殑欏炲瀷鍘熺悊鏄竴妯g殑.閫欒!鍙槸灝嶆湁榛樿獚鍊肩殑瀛楁淇敼鎻愪緵涓浜涘弮鑰? 濡傛灉鏈夎垐瓚h嚜宸卞彲浠ュ畬鍠?
闂滄柤淇敼鏈夐粯瑾嶅肩殑瀛楁鐨勪竴浜涘弮鑰冭硣鏂?BR>/*
寰濻ysColumns琛ㄤ腑cdefault瀛楁鏄惁鐐?鍙互鍒ゆ柗鍑烘槸鍚︽湁榛樿獚鍊?BR>鏌ヨ鍑哄瓧孌電殑榛樿獚鍊?BR>Select text From SysComments
Where id = (Select cdefault from SysColumns where name = '瀛楁')
淇敼鏈夐粯瑾嶅肩殑瀛楁鏅傝鍏堝皣灝嶅氨鐨凞efault or DEFAULT constraint鍏堝埅闄ゆ墠琛? 鐣剁劧鍦ㄤ慨鏀瑰畬瀛楁鏅傝閲嶅緩鍟?
Select Name From SysObjects Where xType = 'D'
       and Parent_Obj = (Select id From SysObjects Where Name = '琛ㄥ悕')
*/

紼嬪簭浠g⒓濡備笅:
/*
    姝ょ▼搴忔矑鏈夎冩叜瀛楁鐨勯粯瑾嶅?BR>*/
-- xtype = '167' 瀛楁欏炲瀷鐐?varchar 鍙敤 select * from systypes 鏌ョ湅
Declare  curAlterInfo Cursor For Select a.Name AlterFieldName, a.Length, a.IsNullable, b.Name AlterTableName
                                                    From SysColumns a, SysObjects b Where a.id = b.id and a.xType = '167'
                                                    and b.xType = 'u' and a.cdefault = 0
declare @AlterFieldName nvarchar(50),  -- 淇敼鐨勫瓧孌?BR>            @AlterTableName nvarchar(50),  -- 淇敼鐨勮〃鍚?BR>            @Length int, -- 瀛楁浠ラ暦搴?BR>            @IsNullable bit, -- 瀛楁鏄惁鍏佽ū鐐虹┖
            @PkName nvarchar(50), -- 涓婚嵉鍚?BR>            @PkFieldName nvarchar(500), --涓婚嵉瀛楁鍚?BR>            @TmpFieldName nvarchar(50),
            @TmpTableName nvarchar(50),
            @Sql nvarchar(500)

Set NoCount On
Begin Tran
open curAlterInfo
Fetch curAlterInfo Into @AlterFieldName, @Length, @IsNullable, @AlterTableName
While @@Fetch_Status=0
Begin
    print @AlterTableName
    --妾㈡煡淇敼鐨勮〃鏄惁鏈変富閸?BR>    If Exists(Select Name From SysObjects Where xType = 'PK'
                  and Parent_Obj = (Select id From SysObjects Where Name = @AlterTableName))
    Begin
       Set @TmpTableName = @AlterTableName
       -- 鍙栧緱涓婚嵉鍚?BR>       Select @PkName = Name From SysObjects Where xType = 'PK'
                 and Parent_Obj = (Select id From SysObjects Where Name = @AlterTableName)
       Set @PkFieldName = ''
       -- 涓婚嵉瀛楁
       Declare curPkFieldName Cursor For Select b.Name From SysIndexKeys a, SysColumns b
                                                Where a.id = (Select id From SysIndexes Where Name = @PkName)
                                                and a.indid = 1 and a.colid = b.colid and a.id = b.id
       -- 鍙栧緱鎵鏈夌殑涓婚嵉瀛楁
       Open curPkFieldName
       Fetch curPkFieldName Into @TmpFieldName
       While @@fetch_status = 0
       Begin
           Set @PkFieldName = @PkFieldName + @TmpFieldName + ','
           Fetch curPkFieldName Into @TmpFieldName
       End
       Close curPkFieldName
       Deallocate curPkFieldName
       -- 鍒櫎鑸婁富閸?BR>       Set @Sql = 'ALTER TABLE '+ @AlterTableName + ' DROP CONSTRAINT ' + @PkName
       Print @Sql
       Exec(@Sql)   
    end
    -- 淇敼瀛楁
    Set @Sql = 'ALTER TABLE ' + @AlterTableName + ' ALTER COLUMN ' + @AlterFieldName
                   + ' NVARCHAR( ' + CAST(@Length AS NVARCHAR) + ')'
    -- 鏄惁鍏佽ū鐐虹┖
    if @IsNullable = 0
        Set @Sql = @Sql + ' NOT NULL'
    Print @sql
    Exec(@sql)
    Fetch curAlterInfo Into @AlterFieldName, @Length, @IsNullable, @AlterTableName
    -- 鍓靛緩涓婚嵉
    If (@AlterTableName <> @TmpTableName or @@fetch_status <> 0) and @PkFieldName <> ''
    Begin
         Set @PkFieldName = Left(@PkFieldName, Len(@PkFieldName) - 1)
         Set @Sql =  ' ALTER TABLE ' + @TmpTableName + ' ADD CONSTRAINT ' + @PkName
                        +  ' PRIMARY KEY CLUSTERED(' + @PkFieldName + ') ON [PRIMARY]'
         Print @Sql
         Exec(@Sql)
         print '-----------------------------'
         Set @PkFieldName = ''
    End
End
Close curAlterInfo
Deallocate curAlterInfo
If @@Error > 0
   Rollback Tran
Else
   Commit Tran
Set NoCount Off



konhon 浼樺崕 2005-08-03 14:36 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 日韩色视频一区二区三区亚洲 | 日本中文字幕免费看| 91视频国产免费| 亚洲1234区乱码| 毛片免费在线观看网址| 亚洲天堂2016| 免费观看美女裸体网站| 亚洲欧洲专线一区| 国产在线观看免费不卡| 男男黄GAY片免费网站WWW| 亚洲精品无码成人片在线观看 | 免费国产99久久久香蕉| 亚洲av激情无码专区在线播放| 久久精品成人免费看| 亚洲爱情岛论坛永久| 1000部免费啪啪十八未年禁止观看| 久久精品国产亚洲av水果派| 亚洲人成免费电影| 亚洲中文字幕无码av| 国产91久久久久久久免费| av电影在线免费看| 亚洲av午夜成人片精品网站 | 高清免费久久午夜精品| 国产中文在线亚洲精品官网| 中文字幕免费视频精品一| 亚洲国产精品第一区二区| 色影音免费色资源| 免费看美女午夜大片| 久久91亚洲人成电影网站| 4hu四虎最新免费地址| 国产成人亚洲综合a∨| 亚洲高清国产AV拍精品青青草原| 99re视频精品全部免费| 亚洲乱妇熟女爽到高潮的片| 国产亚洲色婷婷久久99精品91| 99久久免费观看| 黄网站色视频免费观看45分钟| 亚洲第一福利网站| 国产无遮挡吃胸膜奶免费看| a级毛片无码免费真人久久| 最新亚洲卡一卡二卡三新区|