Not your computer? Use a private browsing window to sign in. Learn more
ユーザー定義のスカラー値関数を Select文の中で使う場合は、スキーマ名まで明記しないといけないようだ。 SQL Server 2008 で確認。 普段は、dbo ばかり使っていて、この dbo はほとんど省略可能だが、今回は引っかかってしまった。 dbo.myUserFunction というスカラー値関数があったとして。 間違い。関数が「組み込み関数として認識されない」という警告が出る。 ----------- Select 列1 ,列2 ,列3 ,myUserFunction(列3) FROM テーブル名 正解。 ----------- Select 列1 ,列2 ,列3 ,dbo.myUserFunction(列3) FROM テーブル名
したい。 SQLServer 2005 で。 ちなみにストアドプロシージャとかではなく ASP.NET から SQL 文投げる形で。 ついでに 「更新する場合は変更があった場合のみ更新」 とかにしたい。 SQLServer 2008 だと MERGE というのが使えるらしいのだけど、2005 なので使えなかった… -- テスト用テーブル CREATE TABLE [dbo].[Hoge] ( [HogeID] [bigint] NOT NULL, [HogeCD] [char](3) NOT NULL, [HogeName] [nvarchar](10) COLLATE Japanese_CI_AS NULL, CONSTRAINT [PK_Hoge] PRIMARY KEY CLUSTERED ( [HogeID] ASC ) WITH (STATISTICS_NORECOMPUTE =
前回はManagement Studio を使って SQL Server の基本的な操作方法前編(主にテーブルの操作)を説明しました。今回は、Management Studio のクエリエディタを使ってSQLの実行の仕方を中心に説明していきます。 SQLとクエリについて 前回までは、テーブルを開いて直接データを入力したり削除したりしていました。このようにManagement Studioで行った操作は、SQL Serverが自動的にSQLを実行してくれていますが、今回はそのSQLを自分で実行します。 SQLとは そもそもSQLとはなんぞや?ってところですが、まず読み方は「エスキューエル」です。これはデータベースを操作するための言語(C言語とかの言語)として、ANSI(American National Standard Institute 米国規格協会)やISO(InterNational
ログインが失敗する場合 Management Studio にログインができない場合は、以下の理由が考えられます。 ログインしようとしているWindowsユーザを、インストール時に管理者として登録していない インストール時の設定でSQLServerの管理者としてWindowsユーザを登録する際、今操作しているユーザをSQLServer管理者として登録していなかった場合はログインできません。 インストール時に「Windows認証のみ」を選択してインストールした場合は、インストール時に登録したWindowsユーザにて、再度ログインを試みてください。「混合認証モード」を選択していた場合は、下の方で紹介している「SAでログインする」を試してください。 サーバー名の入力を間違えている サーバー名(コンピュータ名)を正しく入力してください。インストール時の設定で「規定のインスタンス」ではなく「名前付き
当記事はSQLインジェクションのまとめ | Think Twiceに移転しました。
下記のようなシステムでパフォーマンスが良さげな SQLite を使用予定ですが、もっと速いものが無いか確認のため他のデータベースのパフォーマンスを計測してみました。SQL 利用前提ですが、NoSQL が圧倒的な性能を出す場合は検討する必要があるので KVS も確認しました。 データ件数は 1 億件程度、JDBC SQL 利用可能 INSERT、UPDATE はバッチ SELECT は主キーアクセス性能を重視 将来スケールアウトのための分散はありえるが、スタンドアロンで遅いのはだめ データベースのパフォーマンス比較 計測したデータベース データベース名 タイプ 形態 評判 計測についての備考 SQLite RDB 組み込み ※2 おもちゃ、Android標準 JDBC操作 ※1 H2 RDB 組み込み ※2 組み込み最速 JDBC操作 ※1 Derby RDB 組み込み ※2 Java標準で
SQLでNULL値を含むカラムでソートを実施する場合、何も意識しないと最小の値として処理されてしまいます。 例えば次のようなレコードが存在する場合 test_tab num1null32 select * from test_tab order by num asc; こんな書き方をすると次のような順で出力されます。 test_tab numnull123 null値が最小として扱われてしまいます。 null値を最後(この場合は最大)と扱いたい場合は下記のように書きます。 select * from test_tab order by num is null asc; test_tab num132null お気付きとは思いますが、この書き方だけでは、null値が最大として扱われただけであって、通常のソートは行われていません。 そのため、下記のように書き直します。 select * fro
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く