Posts

Warn for DELETE All records

在  SQL Server Management Studio (SSMS) 中執行刪除所有資料時,是不會有任何提醒的!!
例如將 delete * from XX 看成 select * from XX,或者未加篩選條件時,都可以輕易地直接刪除整個資料表的所有資料。
防範類似的悲劇發生,可行做法:

SQL Server 定期備份 當發生誤刪資料時,確保可以進行環原。
異動大量資料前,手動備份一次。

自製警告訊息 SSMS (v17.9) 目前沒有類似提醒的設定,不過可以在 delete trigger 加上類似的檢查,預防不小心刪除整個資料表,若真需要全部刪除前,再手動停用 Trigger,執行刪除後再手動啟Trigger。
建立刪除警告的 Trigger
FOR DELETE AS BEGIN DECLARE @Count int SET @Count = @@ROWCOUNT; IF @Count >= (SELECT SUM(row_count) FROM sys.dm_db_partition_stats WHERE OBJECT_ID = OBJECT_ID('dbo.MyTable_LOG') AND index_id = 1) BEGIN RAISERROR('Cannot delete all rows at once.',16,1) ROLLBACK TRANSACTION RETURN; END END
停用 Trigger 語法
DISABLE TRIGGER [dbo].[RPTIMG_LOG_delete_trigger] ON [dbo].[RPTIMG_LOG]
啟用 Trigger 語法
ENABLE TRIGGER [dbo].[RPTIMG_LOG_delete_trigger] ON [dbo].[RPTIMG_LOG]
所有資料表,建立預防刪除所有資料的 Trigger
/*-------------------------------------------------- description: …

SSMS change Object Explorer Font Size

Image
近日發現在筆電上使用 SQL Server Management Studio 中 Object Explorer 查找項目時,感覺字體太小越來越吃力。😅
若要調整其顯示字形與大小,目前沒有獨立的設定,只能透過修改全域環境字形達成。
從選單 Tools –> Options
開啟 Options 設定視窗,選擇 Environment –> Fonts and Colors –> Environment Font
再調整字形與大小。


調整後的效果如下圖

How to create Google APIs credentials

Image
建立新 Project進入 Google APIs & Services 後台,點此連結點擊 [Create]
輸入資訊後,點擊 [Create]
建立 Credentials選擇 [OAuth client ID]
Application type 選擇 Other 輸入 Name 點擊 [Create]
取得 Client ID 與 Client secret 後, 可以置入程式碼中呼叫 Google APIs。

如何將旅行照片顯示於地圖上

Image
旅行時使用手機拍照,若有開啟 GPS 定位功能,每張照片會儲存地理座標,可以透過以下步驟,將照片顯示在地圖上,做為另一種記錄旅途的方式。

步驟一: 新增「Google我的地圖」 從瀏覽器進入 Google 雲端硬碟,網址 https://drive.google.com/drive/u/1/my-drive


點擊「+ 新增」> 「更多」 > 「Google我的地圖」


步驟二: 匯入相片 進入我的地圖左上方,點擊「匯入」


從「相簿」中挑選要放入地圖的照片後,點擊下方「選取」


回到主畫面後,就可以發現每張照片已顯示在地圖上,且自動標上地名。


手機安裝 App「Google 我的地圖」,也可以檢視。


其他補充 Google 我的地圖,「匯入」照片這功能只有瀏覽器上有,手機 App 只提供編輯地點的功能。
要區分每一天或每一主題的行程,可以利用「圖層」功能,新增圖層後再匯入下一批照片,之後可以顯示影藏不同的圖層。

瀏覽線上示範請點擊 <連結>。
參考 My Maps- Adding locations, images and videos to Google Maps [ Youtube ]

Export data to CSV – (1) Database

Image
本文以 bcp 產生 csv 檔案工作流程的實作說明,當使用者要求匯出一份資料時,先將查詢語法組合為字串並建立新工作,透過 SQL Server Agent 排程執行輸出檔案。
bcp 基本語法bcp 指令是 SQL Server 可以做大量資料匯入與匯出,在 DOS Command 環境下中執行,先用幾個範例認識 bcp 指令的用法。(本文的範例是 Northwind 資料庫)資料來源指定一個資料表或檢視bcp dbo.Region out "E:\Region.csv" -S "(local)" -d Northwind -U sa -P mis123 –c


資料來源是一個 T-SQL 查詢語法bcp "select * from dbo.Region" queryout "E:\Region2.csv" -t "," -S "(local)" -d Northwind -U sa -P mis123 -c
資料來源是執行一個預存程序bcp "EXEC [dbo].[CustOrderHist] 'ALFKI'" queryout "E:\CustOrderHist.csv" -t "," -S "(local)" -d Northwind -U sa -P mis123 -c
加強 csv 在 Excel 的可讀性產生欄位標題以 bcp 產生的 csv 檔案是不包括欄位標題,找到解決方式是先產生一個欄位標題文字檔,再與 匯出的 csv 檔案合併為另一個檔案。COPY 指令範例COPY /V /Y /B E:\Temp\Header.txt + E:\Temp\DATA.temp E:\Temp\DATA.csv DEL E:\Temp\DATA.temp Header.txt 是欄位標題DATA.temp 是 bcp 產生的 csv 格式的檔案DATA.csv 是合併的新檔案名稱
當資料來源是預存程序時,SQL Server 2012 以後的版本可用 T-SQL 語法查詢得到欄位的標題SELECT name FROM sys.dm_exec_descri…

VS Code setup – JavaScript debugging

Image
全新安裝 Visual Studio Code ,建立一組 JavaScript 與 HTML 網頁,並在 Visual Studio Code 中直接啟動 Debug 模式。
首先到微軟網站下載並安裝 Install Visual Studio Code
進入 IDE 介面,左側是主要功能區,以下會用到這三項:
檢視目前開啟的目錄Debug下載 VS Code Extension

Install Extension 要模擬網站執行網頁與本機 Debug 需要安裝以下兩個 Extension ,可以直接從 IDE > Extension > 輸入 live server > Install (如下圖)。
或到網站下載安裝。


Live Serverhttps://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer
提供本機上的網站伺服器,支援動態編輯內容儲存後,網頁自動直接更新

Debugger for Chromehttps://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome
產品說明的很清楚: Debug your JavaScript code running in Google Chrome from VS Code.
安裝好兩個 Extension 後,關閉並重新開啟 VS Code

建立 Web 網站目錄與 launch.json 開啟一個全空的檔案目錄




index.html 中輸入
<h1></h1> <script src="./index.js"></script>

index.js 中輸入
window.onload = function () { var myword="hello world!"; document.querySelector('h1').innerHTML=myword; }
新增 launch.json
點擊左側 Debug > [No Configuration] 右側 > Add Configuration >…

On lick to Deploy Azure SQL

Image