記事一覧

ストアドプロシージャ内にてカーソルでループして更新する方法 | SQL Server

今回はストアドプロシージャ(以下SPと呼ぶ)を記述する際に、ループして更新する方法にカーソルがありますが、その記述方法についてご紹介いたします。前提条件Windows 7 professional 以降 / Windows Server 2008 R2 以降SQL Server 2005 Developer / Standard 以上1.カーソルの宣言DECLARE カーソル名 CURSOR LOCAL FOR SELECT文2.ループのオープン・ループ方法OPEN カーソル名FETCH NEXT FROM カーソル名 INTO 変数;WHILE ...

続きを読む

FunctionでRoundDown関数を作成する方法 | SQL Server

今回は SQL Server で RoundDown 関数を作成する方法をご紹介いたします。SQL Server には端数処理関数としては標準ではあまり整っていません。そこで UI 側から呼び出す際に VBのみで記述したりするケースをよく見かけますが、それだとストアドプロシージャ(以下ストアド)内にて記述する際に、別途作成する必要が出てきます。このような共通処理的なものは Function として作成すると VB からも呼び出せるし、ストアドや View ...

続きを読む

ストアドプロシージャ内にてロールバック後にエラー内容を表示する方法 | SQL Server

 今回は、SQL Server にてエラーをキャッチし、エラーがあればロールバックしてエラー内容を表示し、またエラーが無ければコミットする方法をご紹介いたします。前提条件Windows 7 professional 以降 / Windows Server 2008 R2 以降SQL Server 2005 Developer / Standard 以上 ポイントとしては(1)エラーをハンドリングする場合は、  BEGIN TRY - END TRY ~ BEGIN CATCH - END CATCH で囲みます。(2)ロールバックす...

続きを読む

テーブルのバックアップを日付を付けて取得する方法 | SQL Server

今回は SQL Server にてテーブルのバックアップを取得する際に、動的にテーブル名に日付を付けて作成する方法をご紹介いたします。前提条件Windows 7 professional 以降 / Windows Server 2008 R2 以降SQL Server 2005 Developer / Standard 以上作成する際のポイントは以下の通りです。(1)動的にSQLを作成する場合、EXEC関数にてSQLを実行します。(2)日付をYYYYMMDDで取得する場合は   CONVERT(NVARCHAR(8), GETDATE(), 1...

続きを読む

このコンテキストではサブクエリは許可されません。スカラ式だけが許可されます。 | SQL Server

SQL Server にて 「このコンテキストではサブクエリは許可されません。スカラ式だけが許可されます。」というエラーが出力されましたので、検証してみました。以前 SQL Server 2008 で作成したプロシージャのコンパイルが通らないのです。エラーが出力された環境は SQL Server 2005 です。現在、SQL Server 2016 Developer Edition が誰でもダウンロード可能になっており、その環境において再度検証してみたところ、普通にコンパイ...

続きを読む

TableTypeの作成方法 | SQL Server

今回は SQL Server 上で Table Type を作成する方法をご紹介いたします。Table Type とは通常 ストアドプロシージャ等によく用いられますが、引数としてテーブルを渡すというイメージの処理が可能です。引数としてテーブルを渡す実際のサンプルコードは以下のようになります。引数にTableTypeの@TestTableを渡しています。CREATE PROCEDURE dbo.TestProcedure    @Code INT,    @TestTable dbo.Test...

続きを読む

暗号化された文字列をあいまい検索する方法 | SQL Server

今回はSQL Server にて暗号化されたデータに対してあいまい検索する方法をご紹介いたします。暗号化といってもDB丸ごと暗号化する機能の事ではなく、今回はデータ単位で暗号化してあるレコードに対してあいまい検索する方法です。これがまた厄介なのです。例えば 山田太郎 という個人情報を暗号化した場合、T_CustomerテーブルID,  NAME------------------------------- 1,  0x8E52936391BE9859   ←「山田太...

続きを読む

SQL Server Developer Edition をダウンロードする方法 | SQL Server

今回は、開発目的なら無料で使用ができる SQL Server 2016 Developer Edition をダウンロードする方法をご紹介いたします。以下のURLからダウンロード可能です。https://my.visualstudio.com/benefits※サインインしていない場合は、サインインしないとダウンロードできません。1.ダウンロードページについてBenefitsリンクをクリックし、「Microsoft SQL Server Developer Edition」の枠の中にDownloadリンクがありますので、ク...

続きを読む

現在実行されているSQLをサーバー上で確認する | SQL Server 2005

SQL Server 2000 では SQL Enterprise Manager で現在の状況からセッションごとに見ることができますが、SQL Server 2005 以降では、SQL Server Management Studio 上で確認することが困難になっております。→というかよくわかりません。誰かお分かりになる方いらっしゃいましたら教えてください。そこで2005以降ではSQLプロファイラを使用します。スタート→プログラム→SQL Server 200*→パフォーマンスツール→SQL Server Profiler...

続きを読む

誤ってテーブルをドロップさせないように

SQL Server では以下の様にデータベーストリガーを使用して、テーブルの値を見て、拒否する値だったら、エラーを返し、ロールバックをして、DROPを防いでいます。開発者のケアレスミスや外部からのクラッキングを防ぎます。CREATE TRIGGER [trg_DenyDropTable]ON DATABASEFOR DROP_TABLEASBEGIN DECLARE @DenyDropTable BIT; BEGIN TRY SELECT @DenyDropTable = CONVERT(BIT, [Value]) FROM   [dbo]...

続きを読む

広告

プロフィール

石河 純


著者名 :石河 純
自己紹介:素人上がりのIT技術者。趣味は卓球・車・ボウリング

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語・データベース】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
Oracle10g SQLServer2008R2 SQLAnywhere8/11/16
ActiveReport CrystalReport ReportNet(IBM)
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS IIS6/7 apache2

休みの日は卓球をやっています。
現在、卓球用品通販ショップは休業中です。