- 4月 17 週四 201409:42
英文縮寫點的用法 & 常見的英文縮寫
- 5月 24 週五 201316:48
[T-SQL] 幫查詢的結果加上序號或排名
-- ROW_NUMBER()
-- 依照指定的欄位「排序」,逐筆加上序號,例:
-- SerialNo Field_Name
-- 1 ab
-- 2 ab
-- 3 cd
-- 4 ef
SELECT ROW_NUMBER() OVER( ORDER BY [Field_Name]) AS SerialNo, *
FROM [Table_Name]
-- RANK()
-- 依照指定的欄位「排名」,遇到不同資料時將以「該筆序號」為新排名,例:
-- SerialNo Field_Name
-- 1 ab
-- 1 ab
-- 3 cd
-- 4 ef
SELECT RANK() OVER( ORDER BY [Field_Name]) AS SerialNo, *
FROM [Table_Name]
-- DENSE_RANK()
-- 依照指定的欄位「排名」,遇到不同資料時將以「下一排名」為新排名,例:
-- SerialNo Field_Name
-- 1 ab
-- 1 ab
-- 2 cd
-- 3 ef
SELECT DENSE_RANK() OVER( ORDER BY [Field_Name]) AS SerialNo, *
FROM [Table_Name]
-- 依照指定的欄位「排序」,逐筆加上序號,例:
-- SerialNo Field_Name
-- 1 ab
-- 2 ab
-- 3 cd
-- 4 ef
SELECT ROW_NUMBER() OVER( ORDER BY [Field_Name]) AS SerialNo, *
FROM [Table_Name]
-- RANK()
-- 依照指定的欄位「排名」,遇到不同資料時將以「該筆序號」為新排名,例:
-- SerialNo Field_Name
-- 1 ab
-- 1 ab
-- 3 cd
-- 4 ef
SELECT RANK() OVER( ORDER BY [Field_Name]) AS SerialNo, *
FROM [Table_Name]
-- DENSE_RANK()
-- 依照指定的欄位「排名」,遇到不同資料時將以「下一排名」為新排名,例:
-- SerialNo Field_Name
-- 1 ab
-- 1 ab
-- 2 cd
-- 3 ef
SELECT DENSE_RANK() OVER( ORDER BY [Field_Name]) AS SerialNo, *
FROM [Table_Name]
- 5月 09 週四 201313:47
[T-SQL] 重新命名 Table Name 與 Column Name
-- 修改 Table 欄位名稱,自行修改前 2 個 '' 中的資料,最後的 'COLUMN' 保留不變
EXEC sp_rename 'Table_Name.Old_Column_Name', 'New_Column_Name', 'COLUMN'
-- 修改 Table 名稱
EXEC sp_rename 'Old_Table_Name' , 'New_Table_Name'
EXEC sp_rename 'Table_Name.Old_Column_Name', 'New_Column_Name', 'COLUMN'
-- 修改 Table 名稱
EXEC sp_rename 'Old_Table_Name' , 'New_Table_Name'
- 2月 21 週四 201314:57
[T-SQL] Transaction 用法
Transaction(交易,大陸譯名:事务)
將多個資料庫操作的 SQL 指令 group 成一個執行的單元區塊( a single execution unit ),以特定的字串( Begin Transaction )來標記交易開始,一個交易可能包括了多個資料庫操作指令來完成,交易結束時的動作有兩個,若所有的操作全部執行成功,交易才算成功並提交變更( Commit Transaction ),若當中有發生錯誤失敗,則整個交易宣告失敗並回復所有變更( Rollback Transaction )。
將多個資料庫操作的 SQL 指令 group 成一個執行的單元區塊( a single execution unit ),以特定的字串( Begin Transaction )來標記交易開始,一個交易可能包括了多個資料庫操作指令來完成,交易結束時的動作有兩個,若所有的操作全部執行成功,交易才算成功並提交變更( Commit Transaction ),若當中有發生錯誤失敗,則整個交易宣告失敗並回復所有變更( Rollback Transaction )。
- 2月 20 週三 201316:35
[T-SQL] @@Error 與 @@RowCount
@@Error 回傳最近一次 SQL 執行結果的錯誤代碼,若成功執行,則回傳 0
Returns the error number for the last Transact-SQL statement executed.
Returns 0 if the previous Transact-SQL statement encountered no errors.
Returns the error number for the last Transact-SQL statement executed.
Returns 0 if the previous Transact-SQL statement encountered no errors.
- 2月 19 週二 201310:17
[T-SQL] 判斷 Table 是否存在
-- 判斷 Table 是否存在
IF EXISTS( SELECT * FROM sys.tables WHERE name = 'Table_Name' )
SELECT * FROM [Table_Name]
-- 暫存表,# 表示本地暫存,## 表示全局暫存
IF OBJECT_ID('tempdb.dbo.#Table_Name') IS NOT NULL
DROP TABLE [#Table_Name]
IF EXISTS( SELECT * FROM sys.tables WHERE name = 'Table_Name' )
SELECT * FROM [Table_Name]
-- 暫存表,# 表示本地暫存,## 表示全局暫存
IF OBJECT_ID('tempdb.dbo.#Table_Name') IS NOT NULL
DROP TABLE [#Table_Name]
1
