課程戰利品
星期五, 3月 28, 2014
[SSMS] 產生 Script
一個 SSMS 的小技巧,可以一次產生全部 Script,下面利用 Alert 來說明
在 SSMS => 警示 => 預匯出 Script 的 Alert => 滑鼠右鍵 => 編寫警示的指令碼,此作法缺點是一次只能匯出一個
在 SSMS => 警示 => 物件總管詳細資料 => 滑鼠點選搭配 Shift 鍵,可以選擇全部的 Alert => 滑鼠右鍵 => 編寫警示的指令碼,這樣操作就可以一口氣匯出全部的 Alert Script
重點在於物件總管詳細資料內可以一次多選檔案並匯出
在 SSMS => 警示 => 預匯出 Script 的 Alert => 滑鼠右鍵 => 編寫警示的指令碼,此作法缺點是一次只能匯出一個
在 SSMS => 警示 => 物件總管詳細資料 => 滑鼠點選搭配 Shift 鍵,可以選擇全部的 Alert => 滑鼠右鍵 => 編寫警示的指令碼,這樣操作就可以一口氣匯出全部的 Alert Script
重點在於物件總管詳細資料內可以一次多選檔案並匯出
星期五, 3月 21, 2014
[SQL] 查詢 Store Procedure 內容
利用 sys.sql_modules 來查詢 Store Procedure 內容,但假如 Store Procedure 有加密,definition 欄位回傳值是 NULL,就無法解析內容
DECLARE @SPContent TABLE (SPName sysname , [definition] nvarchar(max))
INSERT INTO @SPContent (SPName,[definition])
SELECT
O.name AS SPName,
SM.[definition]
FROM sys.sql_modules as SM
JOIN sys.objects AS O ON SM.[object_id] = O.[object_id]
WHERE O.type = 'P';
SELECT * FROM @SPContent WHERE [definition] LIKE '%keyword%'
星期一, 3月 17, 2014
星期五, 3月 14, 2014
[SQL] 正規化
實務上知道要怎麼正規化,但每次看理論都霧煞煞,趁著這次上課機會整理筆記內容
原始 Table 架構
第一正規化:分離會導致主鍵重覆欄位
第二正規化:獨立不完全依附主鍵相依
第三正規化:獨立完全不相依主鍵對應
整理正規化後的關聯性
第四與第五正規化型式的學術性大於實用性,實務上只要做到第三正規化,就可以滿足商業邏輯需求,並確保交易執行,對於 OLTP 來說,正規化有助於 INSERT、UPDATE 和 DELETE,但對於 SELECT 不利,而矛盾的是大多數的 OLTP 系統 80% 的操作都是 SELECT
原始 Table 架構
第一正規化:分離會導致主鍵重覆欄位
第二正規化:獨立不完全依附主鍵相依
第三正規化:獨立完全不相依主鍵對應
整理正規化後的關聯性
第四與第五正規化型式的學術性大於實用性,實務上只要做到第三正規化,就可以滿足商業邏輯需求,並確保交易執行,對於 OLTP 來說,正規化有助於 INSERT、UPDATE 和 DELETE,但對於 SELECT 不利,而矛盾的是大多數的 OLTP 系統 80% 的操作都是 SELECT
星期五, 3月 07, 2014
[SQL] APPLY
Apply 從 SQL Server 2005 有,通常搭配資料表值函數(Table-Valued Function;TVF),而 Apply 有兩種模式:
- CROSS APLLY:搭配 TVF 可以產生類似 JOIN 效果
- OUTER APPLY:搭配 TVF 可以產生類似 LEFT JOIN 效果
星期一, 3月 03, 2014
[SSRS] 圖例
圖表圖例(Legend)包含圖表中每一個類別項目的描述,此論壇上問題是要如何解決圖表圖例上文字被截斷的情況,詳見下圖
建立一個圓餅圖(PieChart)來說明情況
建立一個圓餅圖(PieChart)來說明情況
- DataSet T-SQL 語法
USE [AdventureWorks2012]
GO
IF OBJECT_ID('PieChart') IS NOT NULL
DROP TABLE PieChart
CREATE TABLE PieChart (BookName nchar(50),SalesQty int)
INSERT INTO PieChart VALUES
(N'SQL SERVER 2012 T-SQL 撰寫',333),
(N'SQL Server 2012 管理',213),
(N'SQL Server 2012 調校',154),
(N'SQL Server CLR',13),
(N'SQL Server 備份',34)