У меня есть следующий SPSP как вычисленная спецификация столбца?
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
, который тянет прикладной управляемый UID для SQL вставки по телефону
exec dbo.i114_get_next_oid
Наших требований приложений выросло несколько, и мне интересно, как я мог используйте «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
В настоящее время приложение (ГИС) заполняет ObjectId поля через C# жестко закодирован в приложении. Нам нужно обойти эту логику, поскольку мы выполняем некоторые дополнительные операции над вставленными данными, пока она находится в таблице добавлений, прежде чем она будет вставлена в бизнес-таблицу. Поэтому наше требование теперь либо использовать SP, либо какой-либо другой метод в качестве триггера или вычисленной спецификации столбца для заполнения поля OID последовательно с использованием следующего OID. Следующий OID управляется функцией «dbo.i144_get_ids», и из-за архитектуры приложения, к сожалению, мы не можем НЕ использовать этот SP для вставок. Это получено из документации поставщика: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/in_SQL_Server/006z00000017000000/
столбец уже существует, не уверен, что если сделать еще один столбец будет решить эту проблему. Отредактированный исходный текст для уточнения. – tpcolson