2016年10月13日 星期四

[Java] Jsoup - HTML 爬蟲工具

Jsoup 是我最近發現用來Parse Html很好用的工具

有點類似JQuery selector

用起來非常直覺好用

而且速度還蠻快的

推薦給大家試試看

Jsoup官網 https://jsoup.org/

2016年4月21日 星期四

[SQL]新增資料後取得自動新增的流水號

在MS SQL Server的SP中新增資料後

KEY如果為自動新增的流水號

可用下列方式取得

以MS SQL的範例資料庫Northwind為例

產品代碼為自動新增的流水號,新增一筆產品資料後取得產品代碼

可以使用下列三種方式取得

  • 取得自動新增流水號方法
  1. IDENT_CURRENT(@tableName)
    • 不限工作範圍,指定的資料表(@tableName)的最後一個流水號
  2. SCOPE_IDENTITY()
    • 目前工作階段最後一次產生的流水號
  3. @@IDENTITY
    • 全域變數,取得整個資料庫最後一次產生的流水號
以Products與Categories為例,在同一個工作範圍中分別新增Products與Categories資料

然後用上面三種方法分別印出來

最後一筆為78

最後一筆為8

執行SQL如下:

INSERT [Products] ([ProductName], [SupplierID], [CategoryID], [QuantityPerUnit], [UnitPrice], [UnitsInStock], [UnitsOnOrder], [ReorderLevel], [Discontinued]) 
VALUES (N'Ina', 12, 2, N'12 boxes', 13.0000, 32, 0, 15, 0)

print SCOPE_IDENTITY(); --78(目前工作階段最後一次產生的流水號)

print IDENT_CURRENT('Products'); --78(Products資料表最後一個流水號)

INSERT [dbo].[Categories] ([CategoryName], [Description]) 
VALUES (N'Ina Car', N'Seaweed and fish')

print SCOPE_IDENTITY(); --9(目前工作階段最後一次產生的流水號)

print IDENT_CURRENT('Products'); --78(Products資料表最後一個流水號)

print IDENT_CURRENT('Categories'); --9(Categories資料表最後一個流水號)

print @@IDENTITY --9(取得整個資料庫最後一次產生的流水號)


執行結果


2015年12月8日 星期二

[SP] 修改資料表描述(sp_addextendedproperty,sp_updateextendedproperty)

這篇又是瘋狂開發後,補丁的一篇文章

身為華人,只能寫英文的欄位名稱實在很難懂

尤其是像英文像我這麼爛的人

透過描述加上中文說明,比較清楚欄位用途,文件也會好寫得多

如果使用Microsoft SQL Server Management Studio 的工具來建立資料表

可以很簡單的透過UI來設定

2015年12月2日 星期三

[DB] 在MS SQL Server 2012 安裝Northwind

最近打算改寫部落格的SQL相關文章

因為資安的關係,沒辦法用公司的資料庫為範例

所以範例資料庫都是自己亂建的

毫無系統,沒有組織

所以想用微軟提供的範例資料庫Northwind來當SQL文章的範本

一來可以大家可以從微軟官網上下載安裝 下載位置

有一個共通的資料與共通的語言,溝通起來比較方便

二來我就不用自己在那邊編一些亂七八糟的資料

[DB] 附加資料庫 (Attach a database in Microsoft SQL Server 2012)

這篇文章是因為要安裝微軟的範例資料庫Northwind而生的

雖然Northwind跟Pubs因為版本問題不能用附加的方式安裝在2012


但是附加方式還是很常被拿來增加一個DB使用 (這句話再講啥?)

使用Microsoft SQL Server Management Studio的工具

附加資料庫其實還滿簡單的

2015年11月23日 星期一

TWCA申請與憑證安裝(keytool)

這一篇文章是用來證明我是一個不合格的工程師'

事情是這樣的....

客戶來信說網頁要加入TWCA認證

要求我提供CSR

2015年11月16日 星期一

[SQL] update sql from other table 的方法(update select)

餓死抬頭

update Employee 
set Name = User.Name, Dept = User.Dept 
from User
where Employee.Id = User.Id

這其實真的沒什麼技術好說的

就是一個筆記。。

當要insert的資料來源是從別的資料表來的時候

可以使用insert into select

insert into Employee (Id,Name,Dept)
select Id,Name,Dept
from User

可以一次新增多個欄位多筆資料

可是update呢?

一開始我只會這種方法

update Employee 
set Name = (select Name from User where User.Id = Employee.Id)


遇到多個欄位就挫賽了

這一次又是google救了我

參考資料:
http://www.blueshop.com.tw/board/FUM20041006152735ZFS/BRD201001071411558F1.html