設定 Store Precedure 執行權限給指定帳號

上一篇在建立 Only Read Access 帳號後
此帳號就只能執行 SELECT 語法及查看資料而已
如果要 INSERT、UPDATE、DELETE 就完全不行
不過可以換一種方式
將這些語法寫成 SP(Store Precedure)
Only Read Access 帳號執行 SP
這樣開放給 Only Read Access 帳號做修改
又可以對修改範圍做限制

more

SQL SERVER 建立 Only Read Access 帳號

程式人員登入資料庫的帳號
為了方便操作通常是用最大權限
這樣設計、新增、修改等等都沒問題
如果要給想看DB資料的人
例如PM或主管等等
不會動到結構或資料
只需要讀取權限
就可以新增 Read Only 帳號

more

SQL Server 的 Linked Server

資料分別存在二個不同主機的資料庫時
當程式要同時抓取二邊的資料
就要使用二個連線字串去開二條連線
分別取得資料。

more

資料庫索引(Index)

複合索引

說明:複合索引是由資料表A、B、C三個欄位建立的,查詢語法是(A AND B AND C)或(A AND B)或(A)的都可存取該索引,如果索引是由A、B、C三個資料行建立而查詢僅指定了(A),所有滿足(A)的值的資料列會被傳回,包括所有B和C的值。
但順序和排序不同,則視為不同的索引,例:(A AND B)與(B AND A)就為不同順序,其中欄位A、B所組合的排序也視為不同的索引,如果查詢條件(A AND B)和(B AND A)都同時存在,必則建立二個不同順序或不同排序的索引。

more

ORDER BY 按照指定的文字順序取出資料

從資料庫按照順序取出資料
用ORDER BY就可以排序

不過如果要按照自已設定的文字來排序
例如:國別按照自已下的語法來排序(TW -> US -> JP)
單純用ORDER BY就沒辦法
可以加上CASE語法就可辦到

more

SQL Server 建立觸發程序

觸發程序是整個資料異動交易的延伸,從處理異動資料作業到觸發程序執行完畢,都是資料異動交易的範圍。

more

SQL Server 的 varchar 跟 nvarchar 字元長度

在資料庫存放文字
英數字的資料居多
所以很習慣的使用varchar型態
如果遇到中文字
使用varchar型態來存放
雖然一樣可以存放文字資料
但其中是有些差異
例如存放文字的長度及多國語言等等

more

SQL Server 查看全部資料表的筆數及資料大小

通常要查看某資料表的筆數
會使用以下語法
SELECT COUNT(*) AS [Total] FROM [Table01]

more

SQL Server 的 DERIVEDTBL、DATEPART、SCOPE_IDENTITY

DERIVEDTBL表示是子查詢所產生的資料表

more