- - PR -
SQLServer2000の計算列のIndexについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-11-08 09:59
お世話になっております。
Insider.NET 会議室で質問させて頂いた内容なのですが、 こちらの会議室のほうが内容的に適しているのではないかと 思い、再度こちらで質問させていただきます。 重複してしまい誠に申し訳御座いません。 開発環境 WindowsXPPro SQLServer2000 VS2003 VB.NET SQLServer2000において、 テーブル Create TableA( [Code] [decimal](8, 0) NOT NULL , [calc_親Code] AS (floor(([Code] / 1000))) ) ON [PRIMARY] を作成(実際はもっと列があるのですが簡略化しています)し、 このテーブルの計算列にIndexを 以下のように作成しました。 SET ARITHABORT ON GO SET CONCAT_NULL_YIELDS_NULL ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO SET ANSI_PADDING ON GO SET ANSI_WARNINGS ON GO SET NUMERIC_ROUNDABORT OFF GO CREATE INDEX [IX_Calc] ON [dbo].[TableA]([calc_親Code]) ON [PRIMARY] set arithabort OFF GO set numeric_roundabort OFF GO set quoted_identifier OFF GO SET ANSI_NULLS ON GO Deleteのみを行うストアドプロシージャ SET ARITHABORT ON GO SET CONCAT_NULL_YIELDS_NULL ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO SET ANSI_PADDING ON GO SET ANSI_WARNINGS ON GO SET NUMERIC_ROUNDABORT OFF GO CREATE PROCEDURE Proc_Delete @DelCode as decimal AS BEGIN Delete from TableA Where Code=@DelCode END set arithabort OFF GO set numeric_roundabort OFF GO set quoted_identifier OFF GO SET ANSI_NULLS ON GO を作成し、 VS2003のSQLCommandでこのストアドを実行すると、 SQLエラーとなり以下のようなメッセージが返されます。 『DELETE に失敗しました。次の SET オプションが無効な設定を持っています: 'ARITHABORT'』 同様にInsert・UpDateでもエラーとなります。 上記エラーとならないようにはどのようにすればよいのでしょうか? ご教授よろしく御願い申し上げます。 |
1