以前有發生過一些奇怪想不到的情形....
乾脆反正有的就記下來...
用一篇記總比每次寫一篇來的好
等真的有辦法遇到一卡車時再來分類好了
*****第一種***** SQL安裝出現---先前的程式安裝在安裝機制上建立了擱置檔案作業。執行安裝程式前您必須重新啟動電腦 解答: 直接刪掉這個機碼,就可以了!! HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations *****第二種***** 判斷資料表是否存在 解答: if exists (select * from dbo.sysobjects where id = object_id(N'資料表名稱') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table 資料表名稱' *****第三種***** 如何讓 SELECT 查詢結果額外增加自動遞增序號 解答:(這是看章立民老師的文章來的) USE NorthWind; GO /* 方法一*/ SELECT 序號= (SELECT COUNT(客戶編號) FROM 客戶 AS LiMing WHERE LiMing.客戶編號<= Chang.客戶編號), 客戶編號, 公司名稱 FROM 客戶 AS Chang ORDER BY 1; GO /* 方法二: 使用SQL Server 2005 獨有的RANK() OVER () 語法*/ SELECT RANK() OVER (ORDER BY 客戶編號 DESC) AS 序號, 客戶編號, 公司名稱 FROM 客戶; GO /* 方法三*/ SELECT 序號= COUNT(*), LiMing.客戶編號, LiMing.公司名稱 FROM 客戶 AS LiMing, 客戶AS Chang WHERE LiMing.客戶編號>= Chang.客戶編號 GROUP BY LiMing.客戶編號, LiMing.公司名稱 ORDER BY 序號; GO /* 方法四 建立一個「自動編號」的欄位,然後將資料新增至一個區域性暫存資料表, 然後由該區域性暫存資料表中,將資料選取出來,最後刪除該區域性暫存資料表 */ SELECT 序號= IDENTITY(INT,1,1), 管道, 程式語言, 講師, 資歷 INTO #LiMing FROM 問券調查一; GO SELECT * FROM #LiMing; GO DROP TABLE #LiMing; GO /* 方法五 使用 SQL Server 2005 獨有的ROW_NUMBER() OVER () 語法 搭配 CTE (一般資料表運算式,就是 WITH 那段語法)選取序號2 ~ 4 的資料 */ WITH 排序後的圖書 AS (SELECT ROW_NUMBER() OVER (ORDER BY 客戶編號 DESC) AS 序號, 客戶編號, 公司名稱 FROM 客戶) SELECT * FROM 排序後的圖書 WHERE 序號 BETWEEN 2 AND 4; GO *****第四種***** 欄位不足長度補零 解答: 方法一 declare @num int set @num=12 select right(100000+@num,5) 結果: 00012 方法二 DECLARE @strNo varchar(4) SET @strNo = CAST(12 as varchar(4)) SET @strNo = REPLICATE('0',4-LEN(@strNo))+@strNo print @strNo 結果: 0012 *****第五種***** Round、Floor、Ceiling函數使用 解答: 四捨五入、無條件捨去、無條件進位 Declare @num1 decimal(10,2) Declare @num2 decimal(10,2) Declare @num3 decimal(10,2) Set @num1 = 121.45 Set @num2 = 121.45 Set @num3 = 121.45 Print Round(@num1,0) Print Ceiling(@num2) Print floor(@num3) 結果: 121.00 122 121 利用 ROUND 來截斷 Print ROUND(150.75, 0); GO Print ROUND(150.75, 0, 1); GO 結果: 151.00 150.00 *****第六種***** SQL Server 已封鎖元件 'Ad Hoc Distributed Queries' 的 STATEMENT 解答: 訊息 15281,層級 16,狀態 1,行 1 SQL Server 已封鎖元件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 之存取,因為此元件已經由此伺服器的安全性組態關閉。系統管理員可以使用 sp_configure 來啟用 'Ad Hoc Distributed Queries' 的使用。如需有關啟用 'Ad Hoc Distributed Queries' 的詳細資訊,請參閱《SQL Server 線上叢書》中的<介面區組態>(Surface Area Configuration)。 解決方式: sp_configure 'show advanced options',1 reconfigure sp_configure 'Ad Hoc Distributed Queries',1 reconfigure 參考:http://msdn.microsoft.com/zh-tw/library/ms189631.aspx
全站熱搜
留言列表