Feature Pack に居なかったので調べたら
Download Microsoft® SQL Server® 2016 Community Technology Preview 3.2 (CTP3.2) Feature Pack from Official Microsoft Download Center
リリース時期は未定のようです。はよ!
What’s new in the Server 2016 CTP 3.3 ScriptDom Parser | Esoteric
select * from sys.tables where temporal_type <> '1'
リリースされてる JDK のバージョンを取得する方法 (未解決) - お だ のスペース の続き。
@superriver コントロールパネルにある「更新」ボタンを押すと、https://t.co/IKQB54U3YL
— 382=1+5+300+70+6 (@aetos382) 2016年3月2日
を見に行ってました。@kosmosebi @shinsukeoda
Java の更新とか忘れてた。。
リリースされてる JDK のバージョンを取得する方法 (未解決) - お だ のスペース
で出てきた
Java 7 and Java 8 Releases by Date
HTMLパースするのはめんどいけど、Power Query ならサクッと取れるんじゃね?と思い試してみました。
さくっと取れたのは良いけど、ここからデータ抜きたいなぁ。
Power BI REST API でいけるんかな?
Overview of Power BI REST API
Azure WebApps の Java のバージョン低いよねーという会話をしていると
@kosmosebi @shinsukeoda インストールされてるものではく、リリースされてるjreの最新バージョン番号をモニターしたいんです
— 帝国兵 (@superriver) 2016年2月29日
こんな感じの流れになって、JDK のバージョンが取れたら改善されそうな雰囲気。
Oracle のページは
Java 7 and Java 8 Releases by Date
ただ、これの feed は無さそう。
このページの元になっているのは、
Critical Patch Updates and Security Alerts
だけど、これの feed ではJavaのリリース + バージョンは分からない。*1
自分が知ってる他の所は、Jenkins の JDK インストールのリストはいつの間にか Java のバージョン増えてるよなーという事でちょっと調べてみました。
jenkins/JDKInstaller.java at 2.0 · jenkinsci/jenkins · GitHub
jenkins/DownloadService.java at 2.0 · jenkinsci/jenkins · GitHub
このサイトの
Index of /updates
hudson.tools.JDKInstaller.json
をローカルにキャッシュして使ってるみたいですねー。
Oracle 公式は無いんかなー? Jenkins の update center のファイルはどうやってバージョン上げてるんやろか。
*1:中の記事まで読めばわかる
SQL DB にも Temporal Tables が来たので色々試しています。
Temporal Tables の機能や構文の日本語情報は、
自習書の No1 に少し載っています。
SQL Server 2016 | マイクロソフト クラウド プラットフォーム
英語だとこのへんかな
Creating a System-Versioned Temporal Table
Changing the Schema of a System-Versioned Temporal Table
今回は、検索クエリのハンズオンで使うために Temporal Table にあらかじめデータが入っている状態を作るためのメモです。
普通に Temporal Table を作成すると、開始と終了時刻は自前で設定出来ませんし、ヒストリーテーブルに任意のデータを追加する事が出来ません。
そのため、まずはベーステーブルとヒストリーテーブル2つを自前で用意します。
create table [社員マスタ] ( [Id] int not null primary key, [社員名] nvarchar(10) not null, [旧姓] nvarchar(10), [住所] nvarchar(10), [SysStart] datetime2 not null, [SysEnd] datetime2 not null ) create table [社員マスタHistory] ( [Id] int not null, [社員名] nvarchar(10) not null, [旧姓] nvarchar(10), [住所] nvarchar(10), [SysStart] datetime2 not null, [SysEnd] datetime2 not null )
ここでの注意点は、
テーブルの準備が出来たのでデータを追加していきます。
まずはベーステーブルから。
insert into [社員マスタ] values (1, '田中 一郎', null, '大阪府', '2015-04-01 9:00:00', '9999-12-31 23:59:59.9999999'), (2, '鈴木 花子', null, '兵庫県', '2015-08-15 15:32:24', '9999-12-31 23:59:59.9999999'), (3, '伊藤 ゆかり', '田所', '奈良県', '2016-01-01 12:10:00', '9999-12-31 23:59:59.9999999'), (4, '佐藤 次郎', null, '京都府', '2015-09-01 9:00:00', '9999-12-31 23:59:59.9999999')
ベーステーブルには、最新のデータが入っているイメージです。
ここも注意点があって、
続いてヒストリーテーブルにデータを入れて、データの歴史を作っていきましょう。
insert into [社員マスタHistory] values (2, '一之瀬 花子', '鈴木', '兵庫県', '2013-02-23 13:34:33', '2015-08-15 15:32:24'), (3, '田所 ゆかり', null, '大阪府', '2014-10-14 20:12:22', '2016-01-01 12:10:00'), (5, '池田 三郎', null, '大阪府', '2013-05-17 9:00:00','2015-12-28 17:00:00'), (4, '佐藤 次郎', null, '兵庫県', '2012-04-01 9:00:00', '2015-09-01 9:00:00'), (5, '池田 三郎', null, '東京都', '2011-04-01 9:00:00', '2013-05-17 9:00:00'), (2, '鈴木 花子', null, '兵庫県', '2010-07-01 9:00:00', '2013-02-23 13:34:33')
注意点は、
select * from [社員マスタ] where [Id] = 2 union select * from [社員マスタHistory] where [Id] = 2 order by [SysStart] desc
こんな感じです。
データが出来たら Temporal Table にしてしまいます。
alter table [社員マスタ] add period for system_time ([SysStart], [SysEnd]) alter table [社員マスタ] set (system_versioning = on (history_table = [dbo].[社員マスタHistory]))
これであらかじめデータを追加した Temporal Table の出来上がり!
select * from [社員マスタ] select * from [社員マスタ] for system_time as of '2015-07-12'
クエリ全文はこちら
create table [社員マスタ] ( [Id] int not null primary key, [社員名] nvarchar(10) not null, [旧姓] nvarchar(10), [住所] nvarchar(10), [SysStart] datetime2 not null, [SysEnd] datetime2 not null ) create table [社員マスタHistory] ( [Id] int not null, [社員名] nvarchar(10) not null, [旧姓] nvarchar(10), [住所] nvarchar(10), [SysStart] datetime2 not null, [SysEnd] datetime2 not null ) -- データの追加 insert into [社員マスタ] values (1, '田中 一郎', null, '大阪府', '2015-04-01 9:00:00', '9999-12-31 23:59:59.9999999'), (2, '鈴木 花子', null, '兵庫県', '2015-08-15 15:32:24', '9999-12-31 23:59:59.9999999'), (3, '伊藤 ゆかり', '田所', '奈良県', '2016-01-01 12:10:00', '9999-12-31 23:59:59.9999999'), (4, '佐藤 次郎', null, '京都府', '2015-09-01 9:00:00', '9999-12-31 23:59:59.9999999') insert into [社員マスタHistory] values (2, '一之瀬 花子', '鈴木', '兵庫県', '2013-02-23 13:34:33', '2015-08-15 15:32:24'), (3, '田所 ゆかり', null, '大阪府', '2014-10-14 20:12:22', '2016-01-01 12:10:00'), (5, '池田 三郎', null, '大阪府', '2013-05-17 9:00:00','2015-12-28 17:00:00'), (4, '佐藤 次郎', null, '兵庫県', '2012-04-01 9:00:00', '2015-09-01 9:00:00'), (5, '池田 三郎', null, '東京都', '2011-04-01 9:00:00', '2013-05-17 9:00:00'), (2, '鈴木 花子', null, '兵庫県', '2010-07-01 9:00:00', '2013-02-23 13:34:33') alter table [社員マスタ] add period for system_time ([SysStart], [SysEnd]) alter table [社員マスタ] set (system_versioning = on (history_table = [dbo].[社員マスタHistory])) -- 後片付け alter table [社員マスタ] set (SYSTEM_VERSIONING = OFF) drop table [社員マスタHistory] drop table [社員マスタ]
2週間前の告知! SqlWorld :: SQLWorld★大阪#36 開催します。18回目の平日夜開催で、前回同様 ハンズオン 形式行う予定です。
今回は Temporal Tables を使ったみようかと思ってます。
【日時】
2016年3月9日(水曜日) 19:00~21:00
【イベント概要】
SQLWorld 18回目の平日夜開催~。今回も、みんなで SQL を書いてみようというハンズオン企画です!ブラウザがあれば参加出来るようにしていますので、iPad 等のタブレットでも大丈夫です。
【会場】
フェンリル株式会社さま大阪本社 http://www.fenrir-inc.com/
〒530-0011 大阪府大阪市北区大深町 3番1号 グランフロント大阪タワーB(オフィス) 14F
http://info.fenrir-inc.com/jp/profile/overview.html
【参加費】
無料
【持ち物】
パソコン/タブレット (DB のインストールは不要です。)
【参加可能人数】
13 人
お題に沿って、SQL を書いてみようという勉強会です。是非ご参加を~。
開催回数は増えていっていますが、続き物というわけでは無いので初めて参加される方でもお気軽にどぞー。