SlideShare uma empresa Scribd logo
1 de 22
本当にあった怖い話し
DB 編
  2012/10/27 やきに駆動2.0
  SQLWorld お だ
自己紹介
織田 信亮(おだ しんすけ)
大阪で開発者しています
SQLWorld の代表です

http://d.hatena.ne.jp/odashinsuke/
Twitter:@shinsukeoda
SQLWorld とは
http://sqlworld.org/
Twitter:@SQLWorld_JP
次のような情報を発信しているコミュニ
ティです
  MS の RDBMS である「SQL Server」
  もちろん他の DB の話しも!
  正規化/モデリング
  SQL/NoSQL
注意書き
特定の製品を挙げているように見えます
が、最近よく使ってるからだけで他意は
ありません!
体験談で公式資料は見つけれてません!
本当にあった怖い話し_DB 編
その1:システム要件を満たしているの
に動かない!
その2:バインド変数が動かない!
その3:トランザクションが異なる?!
ODP.NET 4 がシステム要件を満たしている
のに動かない
http://docs.oracle.com/cd/E16338_01/win.112/b66456/I
nstallSystemRequirements.htm#i1006191
ODP.NET 4 がシステム要件を満たしている
のに動かない
  実行環境
   Windows XP SP3
   .NET Framework 4 Client Profile
   .NET 2系は未インストール
   ODP.NET 4
   標準の Widows Update は適用済み
   .NET 3.5 SP1 は除く

      例外発生!!
using System;
using Oracle.DataAccess.Client;
class Program {
  static void Main(string[] args) {
    try {
      Console.WriteLine(typeof(string).Assembly.FullName);
      Console.WriteLine(typeof(OracleConnection).Assembly.FullName);
      var connStr = “~";
      using (var conn = new OracleConnection(connStr))
      using (var cmd = new OracleCommand(@"select SYSDATE from dual", conn)) {
        conn.Open();
        Console.WriteLine(cmd.ExecuteScalar());
      }
    } catch (Exception e) {
      Console.WriteLine(e.Message);
      Console.WriteLine(e.StackTrace);
    }
    Console.ReadKey();
  }
}
using System;
using Oracle.DataAccess.Client;
class Program {
  static void Main(string[] args) {
    try {
      Console.WriteLine(typeof(string).Assembly.FullName);
                        例外発生!
      Console.WriteLine(typeof(OracleConnection).Assembly.FullName);
      var connStr = “~";
      using (var conn = new OracleConnection(connStr))
      using (var cmd = new OracleCommand(@"select SYSDATE from dual", conn)) {
    --------------------------------------------------------------------------------
        conn.Open();
    mscorelib, Version=4.0.0.0, ...
        Console.WriteLine(cmd.ExecuteScalar());
    Oracle.DataAccess, Version=4.112.3.0, ...
      }
    'Oracle.DataAccess.Client.OracleConnection' type iniitalize
    } catch (Exception e) {
      Console.WriteLine(e.Message);
    error ....
      Console.WriteLine(e.StackTrace);
    --------------------------------------------------------------------------------
    }
    Console.ReadKey();
  }
}
ODP.NET 4 がシステム要件を満たしている
のに動かない
  回避策 (どれか一つでOK)
    Windows Update から .NET 3.5 SP1 をイン
    ストール
    C++ の再頒布可能パッケージ をインストー
    ル
     http://www.microsoft.com/ja-jp/download/details.aspx?id=5638

 OTN Discussion Forums
    ODP.NET4 required .NET2.0?
  https://forums.oracle.com/forums/thread.jspa?thr
  eadID=2423728&stqc=true
バインド変数に長い文字列を指定すると動
かない
 某9i で発生!
  10g, 11g では発生せず
バインド変数の値が 2000文字(ASCII) 以
上の物が複数存在するとエラーが発生

ORA-01461:
LONG値はLONG列にのみバインドできま
す。
create table TEST (
  PK number(3,0) not null primary key,
  CONTENT1 varchar2(4000),
  CONTENT2 varchar2(4000),
  CONTENT3 varchar2(4000)
)
/
insert into TEST values (:PK, :CONTENT1, :CONTENT2, :CONTENT3)
/
drop table TEST
/
    結果            CONTENT1      CONTENT2      CONTENT3
    NG            4000文字        4000文字        4000文字
    NG            2000文字        2000文字        0文字
    OK            1999文字        2000文字        1999文字
    OK            1999文字        4000文字        1999文字
バインド変数に長い文字列を指定すると動
かない
 回避策
  9i を使わない
  クエリ内で文字列結合を行い、1バインド変
  数の文字数が大きくならないようにする
create table TEST (
  PK number(3,0) not null primary key,
  CONTENT1 varchar2(4000),
  CONTENT2 varchar2(4000),
  CONTENT3 varchar2(4000)
)
/
insert into TEST values (
  :PK,
  :CONTENT1_1 || :CONTENT1_2 || :CONTENT1_3 || :CONTENT1_4,
  :CONTENT2_1 || :CONTENT2_2 || :CONTENT2_3 || :CONTENT2_4,
  :CONTENT3_1 || :CONTENT3_2 || :CONTENT3_3 || :CONTENT3_4
)
/
drop table TEST
/
ストアド内で複数回呼び出しているファン
クションのトランザクションが異なる
 11g で発生
 非常に複雑なストアド内で同じファンク
 ションを何回も参照している時に発生
  cursor
  共通テーブル式
  with cte as (select ~)
  window 関数
  sum() over (partition by ~)
  union all
ストアド内で複数回呼び出しているファン
クションのトランザクションが異なる
 cursor と 共通テーブル式を辞めても発
 生
 window 関数か union all を辞めると発
 生しなかった
 window 関数と union all を使ったシン
 プルなストアドだと発生しなかった
  再現するミニマムクエリを発見出来ず…
サンプルクエリの説明
FOO テーブル
   マスタテーブル
BAR_FUNC
   FOO.HOGE_KBN が ‘1’ はエラー発生
   FOO.HOGE_KBN が ‘2’ はエラーなし
ZOO_PROCEDURE
   FOO、BAR_FUNC を参照
   トランザクションテーブルを更新
   FOO テーブルは更新しない
-- FOO.HOGE_KBN = ‘1’ はエラー発生、’2’ はエラー発生せず
update FOO set HOGE_KBN = '1'
/
commit
/
select BAR_FUNC(~) from dual -- FOO.HOGE_KBN = ‘1’ なのでエラー発生
/
update FOO set HOGE_KBN = '2'
/
select BAR_FUNC(~) from dual -- FOO.HOGE_KBN = ‘2’ なのでエラー発生せず
/
rollback
/
call ZOO_PROCEDURE (~) -- FOO.HOGE_KBN = ‘1’ なのでエラー発生
/
update FOO set HOGE_KBN = '2'
/
call ZOO_PROCEDURE (~) -- FOO.HOGE_KBN = ‘2’ なのにエラー発生!!
/
ストアド内で複数回呼び出しているファン
クションのトランザクションが異なる
 BAR_FUNC 内で、FOO テーブルのデータを
 確認してみると…
   エラーが起きる時は、何故か更新前のデー
   タを参照している
   トランザクション内のデータが見れていない
ストアド内で複数回呼び出しているファン
クションのトランザクションが異なる
 回避策
  window 関数は削れなかったので、union
  all を諦めて、2つのクエリに分けた。
  本当に回避出来てるのか不明。
  原因を探れていないので、本当に発生しないのか
  は不明。
  テストでは再現しなかった。
まとめ
変な書き方してるクエリを見つけても、
バカにしない!
テストは大事!
意味の分からない事象にぶち当たっても
泣かない!
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais procurados

.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE).NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)Tusyoshi Matsuzaki
 
分子系統樹推定に適した配列データセットの作成 実習編
分子系統樹推定に適した配列データセットの作成 実習編分子系統樹推定に適した配列データセットの作成 実習編
分子系統樹推定に適した配列データセットの作成 実習編astanabe
 
PostgreSQL Unconference #26 No Error on PostgreSQL
PostgreSQL Unconference #26 No Error on PostgreSQLPostgreSQL Unconference #26 No Error on PostgreSQL
PostgreSQL Unconference #26 No Error on PostgreSQLNoriyoshi Shinoda
 
Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)Yuuki Namikawa
 
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」Shinichi Hirauchi
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能についてshigeki_ohtsu
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive ExtensionsShin Ise
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回nanametown
 
おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術Takanobu Mizuta
 
Bat jscrpt powershell
Bat jscrpt powershellBat jscrpt powershell
Bat jscrpt powershellNaoyuki Sano
 
Cloud computing competition by Hapyrus
Cloud computing competition by HapyrusCloud computing competition by Hapyrus
Cloud computing competition by HapyrusKoichi Fujikawa
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Androidyo_waka
 
Javaセキュアコーディングセミナー東京第3回講義
Javaセキュアコーディングセミナー東京第3回講義Javaセキュアコーディングセミナー東京第3回講義
Javaセキュアコーディングセミナー東京第3回講義JPCERT Coordination Center
 
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsC#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsYoshifumi Kawai
 
SQLQL とは!?
SQLQL とは!?SQLQL とは!?
SQLQL とは!?yancya
 

Mais procurados (19)

Gwt1
Gwt1Gwt1
Gwt1
 
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE).NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
 
分子系統樹推定に適した配列データセットの作成 実習編
分子系統樹推定に適した配列データセットの作成 実習編分子系統樹推定に適した配列データセットの作成 実習編
分子系統樹推定に適した配列データセットの作成 実習編
 
PostgreSQL Unconference #26 No Error on PostgreSQL
PostgreSQL Unconference #26 No Error on PostgreSQLPostgreSQL Unconference #26 No Error on PostgreSQL
PostgreSQL Unconference #26 No Error on PostgreSQL
 
Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)Webサーバ勉強会 (160-162:?)
Webサーバ勉強会 (160-162:?)
 
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能について
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive Extensions
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回
 
Stream2の基本
Stream2の基本Stream2の基本
Stream2の基本
 
おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術
 
Bat jscrpt powershell
Bat jscrpt powershellBat jscrpt powershell
Bat jscrpt powershell
 
Cloud computing competition by Hapyrus
Cloud computing competition by HapyrusCloud computing competition by Hapyrus
Cloud computing competition by Hapyrus
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Android
 
Rakuten tech conf
Rakuten tech confRakuten tech conf
Rakuten tech conf
 
Clojrue 13 testing
Clojrue 13 testingClojrue 13 testing
Clojrue 13 testing
 
Javaセキュアコーディングセミナー東京第3回講義
Javaセキュアコーディングセミナー東京第3回講義Javaセキュアコーディングセミナー東京第3回講義
Javaセキュアコーディングセミナー東京第3回講義
 
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsC#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive Extensions
 
SQLQL とは!?
SQLQL とは!?SQLQL とは!?
SQLQL とは!?
 

Semelhante a 本当にあった怖い話し (やきに駆動 2.0)

Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Masayuki Ozawa
 
T sql の parse と generator
T sql の parse と generatorT sql の parse と generator
T sql の parse と generatorOda Shinsuke
 
T sql 振り返り
T sql 振り返りT sql 振り返り
T sql 振り返りOda Shinsuke
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについてtako pons
 
VS勉強会 .NET Framework 入門
VS勉強会 .NET Framework 入門VS勉強会 .NET Framework 入門
VS勉強会 .NET Framework 入門kamukiriri
 
Sql server data store data access internals
Sql server data store data access internalsSql server data store data access internals
Sql server data store data access internalsMasayuki Ozawa
 
SQLQL は GraphQL にとってなんなのか
SQLQL は GraphQL にとってなんなのかSQLQL は GraphQL にとってなんなのか
SQLQL は GraphQL にとってなんなのかyancya
 
Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517akirahiguchi
 
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010stomita
 
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜Michitoshi Yoshida
 
PostgreSQL Conference Japan 2021 B2 Citus 10
PostgreSQL Conference Japan 2021 B2 Citus 10PostgreSQL Conference Japan 2021 B2 Citus 10
PostgreSQL Conference Japan 2021 B2 Citus 10Noriyoshi Shinoda
 
社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)Iwana Chan
 
JavaLearning_1.pptx
JavaLearning_1.pptxJavaLearning_1.pptx
JavaLearning_1.pptxRyuuGaku
 
転置インデックスとTop k-query
転置インデックスとTop k-query転置インデックスとTop k-query
転置インデックスとTop k-query正志 坪坂
 

Semelhante a 本当にあった怖い話し (やきに駆動 2.0) (20)

Babelfish Compatibility
Babelfish CompatibilityBabelfish Compatibility
Babelfish Compatibility
 
20141129-dotNet2015
20141129-dotNet201520141129-dotNet2015
20141129-dotNet2015
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
 
T sql の parse と generator
T sql の parse と generatorT sql の parse と generator
T sql の parse と generator
 
T sql 振り返り
T sql 振り返りT sql 振り返り
T sql 振り返り
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 
VS勉強会 .NET Framework 入門
VS勉強会 .NET Framework 入門VS勉強会 .NET Framework 入門
VS勉強会 .NET Framework 入門
 
Sql server data store data access internals
Sql server data store data access internalsSql server data store data access internals
Sql server data store data access internals
 
Ll xcode
Ll xcodeLl xcode
Ll xcode
 
SQLQL は GraphQL にとってなんなのか
SQLQL は GraphQL にとってなんなのかSQLQL は GraphQL にとってなんなのか
SQLQL は GraphQL にとってなんなのか
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517
 
Hadoop jobbuilder
Hadoop jobbuilderHadoop jobbuilder
Hadoop jobbuilder
 
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010
 
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
 
PostgreSQL Conference Japan 2021 B2 Citus 10
PostgreSQL Conference Japan 2021 B2 Citus 10PostgreSQL Conference Japan 2021 B2 Citus 10
PostgreSQL Conference Japan 2021 B2 Citus 10
 
社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)
 
JavaLearning_1.pptx
JavaLearning_1.pptxJavaLearning_1.pptx
JavaLearning_1.pptx
 
Rpscala2011 0601
Rpscala2011 0601Rpscala2011 0601
Rpscala2011 0601
 
転置インデックスとTop k-query
転置インデックスとTop k-query転置インデックスとTop k-query
転置インデックスとTop k-query
 

Mais de Oda Shinsuke

SQL Server2022_PSPoptimization_pub.pdf
SQL Server2022_PSPoptimization_pub.pdfSQL Server2022_PSPoptimization_pub.pdf
SQL Server2022_PSPoptimization_pub.pdfOda Shinsuke
 
Dot net+sql server tips
Dot net+sql server tipsDot net+sql server tips
Dot net+sql server tipsOda Shinsuke
 
Sql server 2019 ざっくり紹介
Sql server 2019  ざっくり紹介Sql server 2019  ざっくり紹介
Sql server 2019 ざっくり紹介Oda Shinsuke
 
Spark on sql server?
Spark on sql server?Spark on sql server?
Spark on sql server?Oda Shinsuke
 
SQL Server のロック概要
SQL Server のロック概要SQL Server のロック概要
SQL Server のロック概要Oda Shinsuke
 
Blazor 触ってみた
Blazor 触ってみたBlazor 触ってみた
Blazor 触ってみたOda Shinsuke
 
Linux + PHP でも SQL Server
Linux + PHP でも SQL ServerLinux + PHP でも SQL Server
Linux + PHP でも SQL ServerOda Shinsuke
 
グラフデータベースの話し
グラフデータベースの話しグラフデータベースの話し
グラフデータベースの話しOda Shinsuke
 
Sql server 2017 新機能のご紹介
Sql server 2017 新機能のご紹介Sql server 2017 新機能のご紹介
Sql server 2017 新機能のご紹介Oda Shinsuke
 
Sql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベースSql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベースOda Shinsuke
 
Transaction scopeまだダメ
Transaction scopeまだダメTransaction scopeまだダメ
Transaction scopeまだダメOda Shinsuke
 
Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!Oda Shinsuke
 
2016年を振り返って
2016年を振り返って2016年を振り返って
2016年を振り返ってOda Shinsuke
 
開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返りOda Shinsuke
 
Ms build 触ってみよう
Ms build 触ってみようMs build 触ってみよう
Ms build 触ってみようOda Shinsuke
 
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介Oda Shinsuke
 
Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介Oda Shinsuke
 

Mais de Oda Shinsuke (20)

SQL Server2022_PSPoptimization_pub.pdf
SQL Server2022_PSPoptimization_pub.pdfSQL Server2022_PSPoptimization_pub.pdf
SQL Server2022_PSPoptimization_pub.pdf
 
What's hyperscale
What's hyperscaleWhat's hyperscale
What's hyperscale
 
Dot net+sql server tips
Dot net+sql server tipsDot net+sql server tips
Dot net+sql server tips
 
Sql server 2019 ざっくり紹介
Sql server 2019  ざっくり紹介Sql server 2019  ざっくり紹介
Sql server 2019 ざっくり紹介
 
Spark on sql server?
Spark on sql server?Spark on sql server?
Spark on sql server?
 
SQL Server のロック概要
SQL Server のロック概要SQL Server のロック概要
SQL Server のロック概要
 
Blazor 触ってみた
Blazor 触ってみたBlazor 触ってみた
Blazor 触ってみた
 
Linux + PHP でも SQL Server
Linux + PHP でも SQL ServerLinux + PHP でも SQL Server
Linux + PHP でも SQL Server
 
グラフデータベースの話し
グラフデータベースの話しグラフデータベースの話し
グラフデータベースの話し
 
Sql server 2017 新機能のご紹介
Sql server 2017 新機能のご紹介Sql server 2017 新機能のご紹介
Sql server 2017 新機能のご紹介
 
Sql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベースSql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベース
 
Transaction scopeまだダメ
Transaction scopeまだダメTransaction scopeまだダメ
Transaction scopeまだダメ
 
Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!
 
2016年を振り返って
2016年を振り返って2016年を振り返って
2016年を振り返って
 
Sql world とは
Sql world とはSql world とは
Sql world とは
 
開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り
 
Sql world とは
Sql world とはSql world とは
Sql world とは
 
Ms build 触ってみよう
Ms build 触ってみようMs build 触ってみよう
Ms build 触ってみよう
 
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介
 
Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介
 

本当にあった怖い話し (やきに駆動 2.0)