SQL Server ブログトップ

DATABASEの存在チェック [SQL Server]

----------------------------------------------------------
(実行環境)

Microsoft SQL Server 2005 Express Edition
----------------------------------------------------------

SQL Serverにある名前のDATABASEが存在するか否かのチェック(確認)がしたい。
この場合、こちらの方法を使う。

SQL Server上のDBの名称一覧を取得し、調べたい名称を条件に加えれば存在チェック処理となる。

SQLのWhere条件を、副問い合わせで複数設定したい [SQL Server]

----------------------------------------------------------
(実行環境)

Microsoft SQL Server 2005 Express Edition
----------------------------------------------------------

SQLのSelect文で、引っ張ってくる条件を他のテーブルの条件で指定したい場合、副問い合わせを行う。

Ex)
  SELECT  項目1
         ,項目2
         ,項目3
  FROM  テーブル1
  WHERE  項目1 = (SELECT 項目A
               FROM テーブル2
               WHERE  項目B = ’hoge’)


ここで、副問合わせで取得するデータ数が1つ以下なら問題ないが、
複数行ある場合は、この文だとエラーとなる。

この場合は、”=” → ”IN” とするとOK。

”IN”の使い方知らなかったけど、色々便利に使えるっぽい。
入門書にも書いてるけど、使ってなかったなぁ~。




DataBaseのRestore(復元) [SQL Server]

----------------------------------------------------------
(実行環境)

Microsoft SQL Server 2005 Express Edition

----------------------------------------------------------

 VB.NETのコード上で、バックアップをとったDBを復元(Restore)したい。

できれば上書きではなく新規作成で、かつ、SQL文だけでお手軽に。。

 

色々紹介してくれるサイトがありましたが、こちらで紹介されている方法で対処。

これでバックアップを復元した新しいDBを作成できました。

上書きするには、「with Replace」構文とかなんとかが必要らしいですが、なんだかうまくいかず。。

一度Dropして削除してから新しく作ることでとりあえず対処。。

邪道な。。ゴミでるし。。

そのうちしっかり上書きしたいw


SQL Server 2005 Express Edition のサーバ名 [SQL Server]

----------------------------------------------------------
(実行環境)

Microsoft Visual Studio 2005 Tools for Applications によるアプリケーション

Microsoft SQL Server 2005 Express Edition

----------------------------------------------------------

今日は「実行環境」です。

 

 SQL Server 2005 Express Edition のサーバ名(デフォルト)はこれ。

    "(local)\SQLEXPRESS"

 上記の「\ 」は「円マーク」です。

 Expressじゃないものは、 (local)ですね。

 

インストーラでExpressを必須コンポーネントで入れるときは、

SQL Server でつなぐときに参照するxmlファイルのサーバ名に注意。


空っぽのテーブルにデータを一括で挿入する [SQL Server]

----------------------------------------------------------
(開発・実行環境)

Microsoft Visual Studio 2005 Tools for Applications

Microsoft Visual Basic 2005

Microsoft SQL Server 2005

----------------------------------------------------------

マスタデータを一気にテーブルに流したいので、txtファイルから BULK INSERT ステートメントを実行する。

BULK INSERT        テーブル名
FROM                'C:\ファイル名.txt'
WITH(
    DATAFILETYPE = 'char',
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n'
)


INSERTするファイルは、SQL Server のデータを持ってるテーブルから予めエクスポートして取得しておく。

このときのコピー元ソースは「Microsoft OLE DB Provider for SQL Server」,

変換先は「フラット ファイル変換先」、

ファイル名は参照からディレクトリを選んでファイル名を指定してやる。

 

参考

http://d.hatena.ne.jp/tomoyamkung/20080910/1221018887


SQL Server ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。