2008年06月30日
2008年06月28日
70-431 通過
拖了好幾個月,今天終於考到 MCTS-SQL SERVER 2005 認證了。不過,過程實在有點曲折就是了。因為工作實在太忙碌,一直沒有時間好好靜下心去看 Trainning Kit,導致完全沒信心去考試,才會一拖再拖從一月報名以後延期再延期。
報名費早早就繳了,也約好時間去準備去 III 考試。但是同樣的理由,因循且過了好幾次,每次都拖拖拉拉,每個月都上網去向 Prometric 延期。這星期三 6/25 我又想延期了,但是在 Prometric 上一直無法延期成功。主要是因為整個七月都沒有時間可選,反應給 Prometric 也沒有下文,眼看無法延期只好硬著頭皮準備了。
我自己並不是 DBA 或是 DBD 出身。只因我們公司的 MCITP-SQL SERVER 2005 DBD 離職了,只好換我來撐撐場面。撐一撐的過程之中也算是小有心得,加上這三天狂跑圖書館還有熬夜猛 K 書。幸好,老天是有眼的讓我考過了。
70-431 認證考試我拿到的考題共有 47 題 :單選 29 題、複選 6題、模擬題 12 題。單選題我的答案 A: 3 題、B: 11 題、 C: 8題、D: 7 題。模擬題 12 題範圍:備份 3 題、View 2 題、Trigger 2 題、Index 、建資料庫、死結、安全性、CLR 等等。最後我考了 982 分通過了考試,真是太開心了。(滿分 1000,而 700 是最低通過認證的分數。)
PS. 考完後,跑去二二八捐血回饋一下社會!
PS2. 在微風台北車站 2F 跟 Dotjum 及 wxvbbo 聚餐
...繼續閱讀2008年04月19日
SQL Server 2005 - 關於 IDENTITY 的小技巧
最近,備份資料庫遇到一個問題,就是將舊資料搬移到新主機資料表的時候,如果主鍵是的 IDENTITY 是設定自動增加的話,那麼舊有的主鍵資料,在新資料表上面就好像是重新編號一樣又從第 1 筆開始塞到第 N 筆。
( PS. 我不是專業的 DBA 或是 DBD,所以我只會很笨的方法。)
...繼續閱讀
2008年03月19日
將多筆相同鍵值的欄位內容合併
常常遇到這樣的問題,如何將相同鍵值的藍位內容值串接 ?
舉例來說 TableA 如下:
ID Type DESC
1 cpu 處理器
1 cpu 雙核心
1 cpu 800外頻
2 HD 硬碟
2 HD 500G
2 HD 5400轉
希望將欄位內容串接並以【,】分隔,在 SQL Server 2005 可以利用 XML PATH 來將功能實作,如:
ID Type DESC
1 cpu 處理器,雙核心,800外頻
2 HD 硬碟,500G,5400轉
1: SELECT T1.id, T1.type,
2: ( 3: STUFF( (4: SELECT ',' + [DESC]
5: FROM @TABLEA T2
6: WHERE T2.id = T1.id
7: FOR XML PATH('')
8: ), 1, 1, ''
9: )10: ) AS [DESC]
11: FROM @TABLEA T1
12: GROUP BY id, type
如果只是想單純地將欄位內容單純串接,則可以用下列做法:
ID Type DESC
1 cpu 處理器雙核心800外頻
2 HD 硬碟500G5400轉
1: SELECT T1.id, T1.type,
2: (3: SELECT [DESC] + ''
4: FROM @TABLEA T2
5: WHERE T2.id = T1.id
6: FOR XML PATH('')
7: ) AS [DESC]
8: FROM @TABLEA T1
9: GROUP BY id, type
...繼續閱讀
2007年11月27日
bcp 備份所有資料表
|
2007年11月19日
SQL CLR Function 查詢範圍 IP
1. 用 C# 撰寫 SQL Function,請自行編譯成 IPUtility.dll
|
2. 在 SQL 引入 IPUtility 並建立 Function
|
OUTPUT:
172.16.58.103
172.16.59.103
172.16.60.103
172.16.61.103
2007年11月15日
SQL Server 2005 - Truncate All Tables
|
用 SQL 語法查詢符合條件範圍的 IP
|
2007年11月13日
SQL Server - Random Number Generator
SQL SERVER - Random Number Generator Script - SQL Query
Apr 29th, 2007 by pinaldave
Method 1 : Generate Random Numbers (Int) between Rang
-- Create the variables for the random number generation
DECLARE @Random int;
DECLARE @Upper int;
DECLARE @Lower int
-- This will create a random number between 1 and 999
SET @Lower = 1 -- The lowest random number
SET @Upper = 999 -- The highest random number
SELECT @Random = Round(((@Upper - @Lower -1) * Rand() + @Lower), 0)
SELECT @Random
Method 2 : Generate Random Float Numbers
SELECT RAND( (DATEPART(mm, GETDATE()) * 100000 )
+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )
Method 3 : Random Numbers Quick Scripts
-- random float from 0 up to 20 - [0, 20)
SELECT 20*RAND()
-- random float from 10 up to 30 - [10, 30)
SELECT 10 + (30-10)*RAND()
-- random integer between 0 and 20 - [0, 20]
SELECT CONVERT(int, (20+1)*RAND())
-- random integer between 10 and 30 - [10, 30]
SELECT 10 + CONVERT(int, (30-10+1)*RAND())
Method 4 : Random Numbers (Float, Int) Tables Based with Time
DECLARE @t table( randnum float )
DECLARE @cnt int; set @cnt = 0
WHILE @cnt <=10000
BEGIN
set @cnt = @cnt + 1
INSERT INTO @t
SELECT RAND( (DATEPART(mm, GETDATE()) * 100000 )
+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )
END
SELECT randnum, count(*)
FROM @t
GROUP BY randnum
Method 5 : Random number on a per row basis
-- The distribution is pretty good however there are the occasional peaks.
-- If you want to change the range of values just change the 1000 to the maximum value you want.
-- Use this as the source of a report server report and chart the results to see the distribution
SELECT randomNumber, Count(1) countOfRandomNumber
FROM (SELECT abs(cast(newid() as binary(6)) %1000) + 1 randomNumber
FROM sysobjects) sample
GROUP BY randomNumber
ORDER BY randomNumber
2007年09月21日
DataSet 只有一筆資料,GridView 會出現 Title 消失的問題
如果 DataSet 內只有一筆資料,將 DataSet 直接 assign 給 GridView 十,會造成 Title 消失。或是 DataSet.WriteXml 輸出 XML 文件,利用 Excel 開啟,也會有標題消失的情況發生。
解決辦法:
| ds.Tables[0].Rows.Add(ds.Tables[0].NewRow()); |
有一個偷機的辦法是在 DataTable 加上一個空的 DataRow,可以避免只有一筆記錄時不會出現表頭的問題,也不會影響原有的資料。
網頁載入中,請稍候...