2012-04-04 7 views
0

私は、次のSP計算された列指定としてのSP?

当社のアプリケーション要件はやや成長している、と私はどのように私ができる思ったんだけど

exec dbo.i114_get_next_oid 

を呼び出すことにより、SQL挿入のためのアプリケーション管理UIDを引っ張っている

create procedure dbo.i114_get_next_oid 
as 
begin 
DECLARE @id as integer 
DECLARE @num_ids as integer 
EXEC dbo.i144_get_ids 2, 1, @id output, @num_ids output 
SELECT @id as N'@base_id' 
end 
go 

を持っていますComputed Column Specificationとして 'exec dbo.i114_get_next_oid'を使用しますか?または拘束?これに頭を掻きます。ありがとう!ここ

テーブルスキーマ

CREATE TABLE [dbo].[TBL_VITAL_EVENTS](
    [Location_ID] [uniqueidentifier] NOT NULL, 
    [Event_ID] [uniqueidentifier] NOT NULL, 
    [OBJECTID] [uniqueidentifier] NULL, 
CONSTRAINT [PK_TBL_VITAL_EVENTS] PRIMARY KEY CLUSTERED 
(
    [Event_ID] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

ALTER TABLE [dbo].[TBL_VITAL_EVENTS] WITH CHECK ADD CONSTRAINT [FK_TBL_VITAL_EVENTS_GRSM_VITAL_SIGNS_PLOTS] FOREIGN KEY([Location_ID]) 
REFERENCES [dbo].[GRSM_VITAL_SIGNS_PLOTS] ([Location_ID]) 
GO 

ALTER TABLE [dbo].[TBL_VITAL_EVENTS] CHECK CONSTRAINT [FK_TBL_VITAL_EVENTS_GRSM_VITAL_SIGNS_PLOTS] 
GO 

ALTER TABLE [dbo].[TBL_VITAL_EVENTS] ADD CONSTRAINT [DF_TBL_VITAL_EVENTS_Event_ID] DEFAULT (newsequentialid()) FOR [Event_ID] 
GO 

現在、アプリケーション(GIS)は、アプリケーション内にハードコーディングされたC位を介しOBJECTIDフィールドに移入されています。挿入されたデータがビジネステーブルに挿入される前に追加テーブルに存在する間に、挿入されたデータに対していくつかの追加の操作を実行するので、そのロジックを回避する必要があります。だから私たちの今の要件は、次のOIDを使用してOIDフィールドを順番に設定するために、SPやその他のメソッドをトリガまたは計算カラムの指定として使用することです。次のOIDは関数 "dbo.i144_get_ids"によって管理され、アプリケーションのアーキテクチャのおかげで、残念ながら、そのSPを挿入に使用することはできません。これはベンダーのドキュメントから入手できます。 http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/in_SQL_Server/006z00000017000000/

答えて

2

CROSS APPLYを使用して関数から列を作成できます。あなたはあなたのテーブルがどのように見えているか、あなたの質問に言及していないので、ここにシナリオがあります。あなたのSPをTVFの代わりに書き換えたり、SPの代わりにこの機能を使うことができます。

SELECT t.<fields>, fun.UID 
FROM MyTable t 
CROSS APPLY dbo.MyFunction(t.Inputfield, t.inputfield2) as Fun 
+0

この列は既に存在します。明確にするために元のテキストを編集しました。 – tpcolson

関連する問題